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.IAnnotationInfoHelperNested classes/interfaces inherited from interface gw.lang.reflect.IAttributedFeatureInfo
IAttributedFeatureInfo.MODIFIER -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate IMethodCallHandlerprivate List<IExceptionInfo>private booleanprivate IJavaMethodDescriptorprivate IDocRef<IMethodNode>private Stringprivate IParameterInfo[]private ITypeprivate Stringprivate intprivate IGenericTypeVariable[]private static final intprivate static final intprivate static final intFields inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
ANNOTATION_HELPER -
Constructor Summary
ConstructorsConstructorDescriptionJavaMethodInfo(IFeatureInfo container, IJavaMethodDescriptor md, boolean forceHidden) -
Method Summary
Modifier and TypeMethodDescriptionstatic TypeVarToTypeMapaddEnclosingTypeParams(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 IJavaAnnotatedElementA full description of this feature.Gets the display name of this feature.getDocsForParam(int paramIndex) intgetName()Gets the programmatic name or identifier of this feature.IType[]getParameterizedParameterTypes(IType... typeParams) IType[]getParameterizedParameterTypes2(IType ownersType, IType... typeParams) getParameterizedReturnType(IType... typeParams) String[]booleaninferTypeParametersFromArgumentTypes(IType... argTypes) inferTypeParametersFromArgumentTypes2(IType owningParameterizedType, IType... argTypes) private TypeVarToTypeMapbooleanprotected booleanbooleanbooleanbooleanisFinal()booleanisHidden()True if this feature is hidden.protected booleanbooleanTrue if this feature is internal.private booleanbooleanTrue if this feature is private.booleanTrue if this feature is protected.booleanisPublic()True if this feature is public.booleanisStatic()True if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.private booleanbooleanisVisible(IScriptabilityModifier constraint) Determine if this feature is visible given a visibility constraint.protected booleanisVisibleViaFeatureDescriptor(IScriptabilityModifier constraint) private StringtoString()Methods inherited from class gw.internal.gosu.parser.JavaBaseFeatureInfo
makeDeprecatedMethods inherited from class gw.lang.reflect.BaseFeatureInfo
getAnnotation, getAnnotations, getAnnotationsOfType, getContainer, getOwnersType, getParamTypes, getSuperAnnotatedElements, hasAnnotation, hasDeclaredAnnotation, isInternalAPI, isReified, isScriptableMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
getAnnotation, getAnnotations, getAnnotationsOfType, hasAnnotation, hasDeclaredAnnotationMethods inherited from interface gw.lang.reflect.IAttributedFeatureInfo
isReified, isScriptableMethods 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:
getParametersin interfaceIHasParameterInfos- Specified by:
getParametersin interfaceIMethodInfo
-
getReturnType
- Specified by:
getReturnTypein interfaceIMethodInfo
-
addEnclosingTypeParams
public static TypeVarToTypeMap addEnclosingTypeParams(IType declaringClass, TypeVarToTypeMap actualParamByVarName) -
getDeclaredAnnotations
- Specified by:
getDeclaredAnnotationsin interfaceIAnnotatedFeatureInfo- Overrides:
getDeclaredAnnotationsin 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:
getTypeVariablesin interfaceIGenericMethodInfo- Returns:
- An array of generic type variables if this feature corresponds with a generic type.
-
getParameterizedReturnType
- Specified by:
getParameterizedReturnTypein interfaceIGenericMethodInfo
-
getParameterizedParameterTypes
- Specified by:
getParameterizedParameterTypesin interfaceIGenericMethodInfo
-
getParameterizedParameterTypes2
- Specified by:
getParameterizedParameterTypes2in interfaceIGenericMethodInfo
-
inferTypeParametersFromArgumentTypes
- Specified by:
inferTypeParametersFromArgumentTypesin 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:
inferTypeParametersFromArgumentTypes2in interfaceIGenericMethodInfo
-
convertTypes
-
getCallHandler
- Specified by:
getCallHandlerin interfaceIMethodInfo
-
getReturnDescription
- Specified by:
getReturnDescriptionin interfaceIMethodInfo
-
getExceptions
- Specified by:
getExceptionsin interfaceIMethodInfo
-
getName
Description copied from interface:IFeatureInfoGets 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:
getNamein interfaceIFeatureInfo- Specified by:
getNamein interfaceIMethodInfo
-
makeSignature
-
getDisplayName
Description copied from interface:IFeatureInfoGets the display name of this feature. There is no guarantee this display name is localized.- Specified by:
getDisplayNamein interfaceIFeatureInfo- Overrides:
getDisplayNamein classBaseFeatureInfo
-
getShortDescription
- Specified by:
getShortDescriptionin interfaceIJavaMethodInfo
-
getDescription
Description copied from interface:IFeatureInfoA full description of this feature.- Specified by:
getDescriptionin interfaceIFeatureInfo- Overrides:
getDescriptionin classBaseFeatureInfo
-
isHidden
public boolean isHidden()Description copied from interface:IAttributedFeatureInfoTrue if this feature is hidden. Hidden feature should not to be exposed to earthlings.- Specified by:
isHiddenin interfaceIAttributedFeatureInfo- Overrides:
isHiddenin classJavaBaseFeatureInfo
-
isDefaultEnumFeature
protected boolean isDefaultEnumFeature()- Specified by:
isDefaultEnumFeaturein classJavaBaseFeatureInfo
-
isVisible
Description copied from interface:IAttributedFeatureInfoDetermine if this feature is visible given a visibility constraint.
NOTE: implementers of this method are responsible for handling the null case, taken to mean that there are not scriptability constraints.- Specified by:
isVisiblein interfaceIAttributedFeatureInfo- Overrides:
isVisiblein classJavaBaseFeatureInfo
-
isStatic
public boolean isStatic()Description copied from interface:IAttributedFeatureInfoTrue if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.- Specified by:
isStaticin interfaceIAttributedFeatureInfo
-
isPrivate
public boolean isPrivate()Description copied from interface:IAttributedFeatureInfoTrue if this feature is private. Private features are only accessible from within the type that owns them.- Specified by:
isPrivatein interfaceIAttributedFeatureInfo- Overrides:
isPrivatein classBaseFeatureInfo
-
isInternal
public boolean isInternal()Description copied from interface:IAttributedFeatureInfoTrue 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:
isInternalin interfaceIAttributedFeatureInfo- Overrides:
isInternalin classBaseFeatureInfo
-
isProtected
public boolean isProtected()Description copied from interface:IAttributedFeatureInfoTrue if this feature is protected. Protected features are accessible from within the type that owns them and from derived containers.- Specified by:
isProtectedin interfaceIAttributedFeatureInfo- Overrides:
isProtectedin classBaseFeatureInfo
-
isPublic
public boolean isPublic()Description copied from interface:IAttributedFeatureInfoTrue if this feature is public. Public features are not restricted.- Specified by:
isPublicin interfaceIAttributedFeatureInfo- Overrides:
isPublicin classBaseFeatureInfo
-
isAbstract
public boolean isAbstract()- Specified by:
isAbstractin interfaceIAttributedFeatureInfo- Overrides:
isAbstractin classBaseFeatureInfo
-
isFinal
public boolean isFinal()- Specified by:
isFinalin interfaceIAttributedFeatureInfo- Overrides:
isFinalin classBaseFeatureInfo
-
isDefaultImpl
public boolean isDefaultImpl()- Specified by:
isDefaultImplin interfaceIAnnotatedFeatureInfo- Overrides:
isDefaultImplin classBaseFeatureInfo- Returns:
- True if this feature is the default implementation e.g., default interface method
-
isDeprecated
public boolean isDeprecated()- Specified by:
isDeprecatedin interfaceIAnnotatedFeatureInfo- Overrides:
isDeprecatedin classBaseFeatureInfo- Returns:
- True if this feature is deprecated.
-
isJavadocDeprecated
private boolean isJavadocDeprecated() -
getDeprecatedReason
- Specified by:
getDeprecatedReasonin interfaceIAnnotatedFeatureInfo- Overrides:
getDeprecatedReasonin classBaseFeatureInfo- Returns:
- The deprecation message, or null if the feature is not deprecated.
-
hasAnnotationDefault
public boolean hasAnnotationDefault()- Specified by:
hasAnnotationDefaultin interfaceICanHaveAnnotationDefault
-
getAnnotationDefault
- Specified by:
getAnnotationDefaultin 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:
getDefaultValueExpressionsin 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:
getParameterNamesin interfaceIOptionalParamCapable
-
getMethod
- Specified by:
getMethodin interfaceIJavaMethodInfo
-
toString
- Overrides:
toStringin classBaseFeatureInfo
-
getAnnotatedElement
- Specified by:
getAnnotatedElementin classJavaBaseFeatureInfo
-
isVisibleViaFeatureDescriptor
- Specified by:
isVisibleViaFeatureDescriptorin classJavaBaseFeatureInfo
-
isHiddenViaFeatureDescriptor
protected boolean isHiddenViaFeatureDescriptor()- Specified by:
isHiddenViaFeatureDescriptorin classJavaBaseFeatureInfo
-
getDocsForParam
- Specified by:
getDocsForParamin interfaceJavaHasParams
-
getMethodDocs
- Specified by:
getMethodDocsin interfaceIJavaMethodInfo
-
getRawMethod
- Specified by:
getRawMethodin interfaceIJavaMethodInfo
-
getModifiers
public int getModifiers()- Specified by:
getModifiersin interfaceIJavaMethodInfo
-
getLocationInfo
- Specified by:
getLocationInfoin interfaceIFeatureInfo
-