Package gw.internal.gosu.parser
Class JavaMethodInfo
java.lang.Object
gw.lang.reflect.BaseFeatureInfo
gw.internal.gosu.parser.JavaBaseFeatureInfo
gw.internal.gosu.parser.JavaMethodInfo
- All Implemented Interfaces:
JavaHasParams
,ICanHaveAnnotationDefault
,IAnnotatedFeatureInfo
,IAttributedFeatureInfo
,IFeatureInfo
,IGenericMethodInfo
,IHasParameterInfos
,IMethodInfo
,IOptionalParamCapable
,IJavaMethodInfo
-
Nested Class Summary
Nested classes/interfaces inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
IAnnotatedFeatureInfo.IAnnotationInfoHelper
Nested classes/interfaces inherited from interface gw.lang.reflect.IAttributedFeatureInfo
IAttributedFeatureInfo.MODIFIER
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate IMethodCallHandler
private List<IExceptionInfo>
private boolean
private IJavaMethodDescriptor
private IDocRef<IMethodNode>
private String
private IParameterInfo[]
private IType
private String
private int
private IGenericTypeVariable[]
private static final int
private static final int
private static final int
Fields inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
ANNOTATION_HELPER
-
Constructor Summary
ConstructorsConstructorDescriptionJavaMethodInfo
(IFeatureInfo container, IJavaMethodDescriptor md, boolean forceHidden) -
Method Summary
Modifier and TypeMethodDescriptionstatic TypeVarToTypeMap
addEnclosingTypeParams
(IType declaringClass, TypeVarToTypeMap actualParamByVarName) (package private) static IParameterInfo[]
convertGenericParameterTypes
(IFeatureInfo container, TypeVarToTypeMap actualParamByVarName, IJavaClassType[] paramTypes, IJavaClassInfo declaringClass, List<Parameter> paramInfos) private IParameterInfo[]
private IType[]
convertTypes
(IJavaClassType[] genParamTypes, IType ownersType) protected IJavaAnnotatedElement
A full description of this feature.Gets the display name of this feature.getDocsForParam
(int paramIndex) int
getName()
Gets the programmatic name or identifier of this feature.IType[]
getParameterizedParameterTypes
(IType... typeParams) IType[]
getParameterizedParameterTypes2
(IType ownersType, IType... typeParams) getParameterizedReturnType
(IType... typeParams) String[]
boolean
inferTypeParametersFromArgumentTypes
(IType... argTypes) inferTypeParametersFromArgumentTypes2
(IType owningParameterizedType, IType... argTypes) private TypeVarToTypeMap
boolean
protected boolean
boolean
boolean
boolean
isFinal()
boolean
isHidden()
True if this feature is hidden.protected boolean
boolean
True if this feature is internal.private boolean
boolean
True if this feature is private.boolean
True if this feature is protected.boolean
isPublic()
True if this feature is public.boolean
isStatic()
True if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.private boolean
boolean
isVisible
(IScriptabilityModifier constraint) Determine if this feature is visible given a visibility constraint.protected boolean
isVisibleViaFeatureDescriptor
(IScriptabilityModifier constraint) private String
toString()
Methods inherited from class gw.internal.gosu.parser.JavaBaseFeatureInfo
makeDeprecated
Methods inherited from class gw.lang.reflect.BaseFeatureInfo
getAnnotation, getAnnotations, getAnnotationsOfType, getContainer, getOwnersType, getParamTypes, getSuperAnnotatedElements, hasAnnotation, hasDeclaredAnnotation, isInternalAPI, isReified, isScriptable
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
getAnnotation, getAnnotations, getAnnotationsOfType, hasAnnotation, hasDeclaredAnnotation
Methods inherited from interface gw.lang.reflect.IAttributedFeatureInfo
isReified, isScriptable
Methods inherited from interface gw.lang.reflect.IFeatureInfo
getContainer, getOwnersType
-
Field Details
-
UNINITED
private static final int UNINITED- See Also:
-
TRUE_ENC
private static final int TRUE_ENC- See Also:
-
FALSE_ENC
private static final int FALSE_ENC- See Also:
-
_md
-
_forceHidden
private boolean _forceHidden -
_params
-
_retType
-
_callHandler
-
_typeVars
-
_staticCache
private int _staticCache -
_exceptions
-
_methodDocs
-
_name
-
_signature
-
-
Constructor Details
-
JavaMethodInfo
- Parameters:
container
- Typically this will be the containing ITypeInfomd
- The method descriptor (from BeanInfo)
-
-
Method Details
-
getParameters
- Specified by:
getParameters
in interfaceIHasParameterInfos
- Specified by:
getParameters
in interfaceIMethodInfo
-
getReturnType
- Specified by:
getReturnType
in interfaceIMethodInfo
-
addEnclosingTypeParams
public static TypeVarToTypeMap addEnclosingTypeParams(IType declaringClass, TypeVarToTypeMap actualParamByVarName) -
getDeclaredAnnotations
- Specified by:
getDeclaredAnnotations
in interfaceIAnnotatedFeatureInfo
- Overrides:
getDeclaredAnnotations
in classJavaBaseFeatureInfo
- Returns:
- A map of AnnotationInfo objects by type representing all the annotations associated with this feature, or an empty map if there are no annotations.
-
getTypeVariables
- Specified by:
getTypeVariables
in interfaceIGenericMethodInfo
- Returns:
- An array of generic type variables if this feature corresponds with a generic type.
-
getParameterizedReturnType
- Specified by:
getParameterizedReturnType
in interfaceIGenericMethodInfo
-
getParameterizedParameterTypes
- Specified by:
getParameterizedParameterTypes
in interfaceIGenericMethodInfo
-
getParameterizedParameterTypes2
- Specified by:
getParameterizedParameterTypes2
in interfaceIGenericMethodInfo
-
inferTypeParametersFromArgumentTypes
- Specified by:
inferTypeParametersFromArgumentTypes
in interfaceIGenericMethodInfo
- Parameters:
argTypes
- The argument types from a generic method call.- Returns:
- A map of inferred type parameters based on the argTypes. The map
contains only the types that could be inferred -- the map may be empty.
E.g.,
given generic method:
T[] toArray( T[] ) and call: list.toArray( new String[list.size()] ); => the toArray() method call should be automatically parameterized with based on the new String[0].
-
inferTypeParametersFromArgumentTypes2
public TypeVarToTypeMap inferTypeParametersFromArgumentTypes2(IType owningParameterizedType, IType... argTypes) - Specified by:
inferTypeParametersFromArgumentTypes2
in interfaceIGenericMethodInfo
-
convertTypes
-
getCallHandler
- Specified by:
getCallHandler
in interfaceIMethodInfo
-
getReturnDescription
- Specified by:
getReturnDescription
in interfaceIMethodInfo
-
getExceptions
- Specified by:
getExceptions
in interfaceIMethodInfo
-
getName
Description copied from interface:IFeatureInfo
Gets the programmatic name or identifier of this feature. Note this name should follow Java identifier naming conventions (alpha-num and underscores, but can't start with a digit).- Specified by:
getName
in interfaceIFeatureInfo
- Specified by:
getName
in interfaceIMethodInfo
-
makeSignature
-
getDisplayName
Description copied from interface:IFeatureInfo
Gets the display name of this feature. There is no guarantee this display name is localized.- Specified by:
getDisplayName
in interfaceIFeatureInfo
- Overrides:
getDisplayName
in classBaseFeatureInfo
-
getShortDescription
- Specified by:
getShortDescription
in interfaceIJavaMethodInfo
-
getDescription
Description copied from interface:IFeatureInfo
A full description of this feature.- Specified by:
getDescription
in interfaceIFeatureInfo
- Overrides:
getDescription
in classBaseFeatureInfo
-
isHidden
public boolean isHidden()Description copied from interface:IAttributedFeatureInfo
True if this feature is hidden. Hidden feature should not to be exposed to earthlings.- Specified by:
isHidden
in interfaceIAttributedFeatureInfo
- Overrides:
isHidden
in classJavaBaseFeatureInfo
-
isDefaultEnumFeature
protected boolean isDefaultEnumFeature()- Specified by:
isDefaultEnumFeature
in classJavaBaseFeatureInfo
-
isVisible
Description copied from interface:IAttributedFeatureInfo
Determine if this feature is visible given a visibility constraint.- Specified by:
isVisible
in interfaceIAttributedFeatureInfo
- Overrides:
isVisible
in classJavaBaseFeatureInfo
-
isStatic
public boolean isStatic()Description copied from interface:IAttributedFeatureInfo
True if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.- Specified by:
isStatic
in interfaceIAttributedFeatureInfo
-
isPrivate
public boolean isPrivate()Description copied from interface:IAttributedFeatureInfo
True if this feature is private. Private features are only accessible from within the type that owns them.- Specified by:
isPrivate
in interfaceIAttributedFeatureInfo
- Overrides:
isPrivate
in classBaseFeatureInfo
-
isInternal
public boolean isInternal()Description copied from interface:IAttributedFeatureInfo
True if this feature is internal. Internal features are accessible from within the type that owns them and from other types in the same namespace.- Specified by:
isInternal
in interfaceIAttributedFeatureInfo
- Overrides:
isInternal
in classBaseFeatureInfo
-
isProtected
public boolean isProtected()Description copied from interface:IAttributedFeatureInfo
True if this feature is protected. Protected features are accessible from within the type that owns them and from derived containers.- Specified by:
isProtected
in interfaceIAttributedFeatureInfo
- Overrides:
isProtected
in classBaseFeatureInfo
-
isPublic
public boolean isPublic()Description copied from interface:IAttributedFeatureInfo
True if this feature is public. Public features are not restricted.- Specified by:
isPublic
in interfaceIAttributedFeatureInfo
- Overrides:
isPublic
in classBaseFeatureInfo
-
isAbstract
public boolean isAbstract()- Specified by:
isAbstract
in interfaceIAttributedFeatureInfo
- Overrides:
isAbstract
in classBaseFeatureInfo
-
isFinal
public boolean isFinal()- Specified by:
isFinal
in interfaceIAttributedFeatureInfo
- Overrides:
isFinal
in classBaseFeatureInfo
-
isDefaultImpl
public boolean isDefaultImpl()- Specified by:
isDefaultImpl
in interfaceIAnnotatedFeatureInfo
- Overrides:
isDefaultImpl
in classBaseFeatureInfo
- Returns:
- True if this feature is the default implementation e.g., default interface method
-
isDeprecated
public boolean isDeprecated()- Specified by:
isDeprecated
in interfaceIAnnotatedFeatureInfo
- Overrides:
isDeprecated
in classBaseFeatureInfo
- Returns:
- True if this feature is deprecated.
-
isJavadocDeprecated
private boolean isJavadocDeprecated() -
getDeprecatedReason
- Specified by:
getDeprecatedReason
in interfaceIAnnotatedFeatureInfo
- Overrides:
getDeprecatedReason
in classBaseFeatureInfo
- Returns:
- The deprecation message, or null if the feature is not deprecated.
-
hasAnnotationDefault
public boolean hasAnnotationDefault()- Specified by:
hasAnnotationDefault
in interfaceICanHaveAnnotationDefault
-
getAnnotationDefault
- Specified by:
getAnnotationDefault
in interfaceICanHaveAnnotationDefault
-
convertParameterDescriptors
-
initTypeVarMap
-
convertGenericParameterTypes
static IParameterInfo[] convertGenericParameterTypes(IFeatureInfo container, TypeVarToTypeMap actualParamByVarName, IJavaClassType[] paramTypes, IJavaClassInfo declaringClass, List<Parameter> paramInfos) -
isVarArgs
private boolean isVarArgs() -
getDefaultValueExpressions
- Specified by:
getDefaultValueExpressions
in interfaceIOptionalParamCapable
- Returns:
- An array of objects representing the default values for a function's parameters. Returns an empty array if there are no default values, otherwise returns an array corresponding with default parameter values. If a parameter does not have a default value, it's default value is null in the array.
-
getParameterNames
- Specified by:
getParameterNames
in interfaceIOptionalParamCapable
-
getMethod
- Specified by:
getMethod
in interfaceIJavaMethodInfo
-
toString
- Overrides:
toString
in classBaseFeatureInfo
-
getAnnotatedElement
- Specified by:
getAnnotatedElement
in classJavaBaseFeatureInfo
-
isVisibleViaFeatureDescriptor
- Specified by:
isVisibleViaFeatureDescriptor
in classJavaBaseFeatureInfo
-
isHiddenViaFeatureDescriptor
protected boolean isHiddenViaFeatureDescriptor()- Specified by:
isHiddenViaFeatureDescriptor
in classJavaBaseFeatureInfo
-
getDocsForParam
- Specified by:
getDocsForParam
in interfaceJavaHasParams
-
getMethodDocs
- Specified by:
getMethodDocs
in interfaceIJavaMethodInfo
-
getRawMethod
- Specified by:
getRawMethod
in interfaceIJavaMethodInfo
-
getModifiers
public int getModifiers()- Specified by:
getModifiers
in interfaceIJavaMethodInfo
-
getLocationInfo
- Specified by:
getLocationInfo
in interfaceIFeatureInfo
-