Package gw.internal.gosu.parser
Class AbstractGenericMethodInfo
- java.lang.Object
-
- gw.lang.reflect.BaseFeatureInfo
-
- gw.internal.gosu.parser.GosuBaseAttributedFeatureInfo
-
- gw.internal.gosu.parser.AbstractGenericMethodInfo
-
- All Implemented Interfaces:
IAnnotatedFeatureInfo
,IAttributedFeatureInfo
,IFeatureInfo
,IGenericMethodInfo
- Direct Known Subclasses:
GosuConstructorInfo
,GosuMethodInfo
public class AbstractGenericMethodInfo extends GosuBaseAttributedFeatureInfo implements IGenericMethodInfo
-
-
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
-
Fields inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
ANNOTATION_HELPER
-
-
Constructor Summary
Constructors Constructor Description AbstractGenericMethodInfo(IFeatureInfo container, DynamicFunctionSymbol dfs)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
ensureInferredTypeAssignableToBoundingType(TypeVarToTypeMap actualParamByVarName, TypeVarToTypeMap map)
List<IReducedSymbol>
getArgs()
String
getDescription()
A full description of this feature.ReducedDynamicFunctionSymbol
getDfs()
String
getDisplayName()
Gets the display name of this feature.List<IExceptionInfo>
getExceptions()
protected List<IGosuAnnotation>
getGosuAnnotations()
String
getName()
Gets the programmatic name or identifier of this feature.IType[]
getParameterizedParameterTypes(IType... typeParams)
IType[]
getParameterizedParameterTypes2(IType ownersType, IType... typeParams)
IType
getParameterizedReturnType(IType... typeParams)
IParameterInfo[]
getParameters()
IGenericTypeVariable[]
getTypeVariables()
TypeVarToTypeMap
inferTypeParametersFromArgumentTypes(IType... argTypes)
TypeVarToTypeMap
inferTypeParametersFromArgumentTypes2(IType owningParameterizedType, IType... argTypes)
boolean
isAbstract()
boolean
isDefaultImpl()
boolean
isFinal()
boolean
isInternal()
True if this feature is internal.boolean
isPrivate()
True if this feature is private.boolean
isProtected()
True if this feature is protected.boolean
isPublic()
True if this feature is public.boolean
isReified()
boolean
isStatic()
True if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.-
Methods inherited from class gw.internal.gosu.parser.GosuBaseAttributedFeatureInfo
getActualTypeInContainer, getDeclaredAnnotations, getDeprecatedReason, getOwnersType, isDeprecated, isHidden, isVisible
-
Methods inherited from class gw.lang.reflect.BaseFeatureInfo
getAnnotation, getAnnotations, getAnnotationsOfType, getContainer, getParamTypes, getSuperAnnotatedElements, hasAnnotation, hasDeclaredAnnotation, isInternalAPI, isScriptable, toString
-
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
isScriptable
-
Methods inherited from interface gw.lang.reflect.IFeatureInfo
getContainer, getLocationInfo
-
-
-
-
Constructor Detail
-
AbstractGenericMethodInfo
public AbstractGenericMethodInfo(IFeatureInfo container, DynamicFunctionSymbol dfs)
-
-
Method Detail
-
getName
public String 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
-
getDisplayName
public String 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
-
getDescription
public String getDescription()
Description copied from interface:IFeatureInfo
A full description of this feature.- Specified by:
getDescription
in interfaceIFeatureInfo
- Overrides:
getDescription
in classBaseFeatureInfo
-
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
-
isReified
public boolean isReified()
- Specified by:
isReified
in interfaceIAttributedFeatureInfo
- Overrides:
isReified
in classBaseFeatureInfo
-
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
-
getParameters
public IParameterInfo[] getParameters()
-
getTypeVariables
public IGenericTypeVariable[] getTypeVariables()
- Specified by:
getTypeVariables
in interfaceIGenericMethodInfo
- Returns:
- An array of generic type variables if this feature corresponds with a generic type.
-
getParameterizedReturnType
public IType getParameterizedReturnType(IType... typeParams)
- Specified by:
getParameterizedReturnType
in interfaceIGenericMethodInfo
-
getParameterizedParameterTypes
public IType[] getParameterizedParameterTypes(IType... typeParams)
- Specified by:
getParameterizedParameterTypes
in interfaceIGenericMethodInfo
-
getParameterizedParameterTypes2
public IType[] getParameterizedParameterTypes2(IType ownersType, IType... typeParams)
- Specified by:
getParameterizedParameterTypes2
in interfaceIGenericMethodInfo
-
inferTypeParametersFromArgumentTypes
public TypeVarToTypeMap inferTypeParametersFromArgumentTypes(IType... argTypes)
- 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
-
ensureInferredTypeAssignableToBoundingType
public static void ensureInferredTypeAssignableToBoundingType(TypeVarToTypeMap actualParamByVarName, TypeVarToTypeMap map)
-
getExceptions
public List<IExceptionInfo> getExceptions()
-
getDfs
public ReducedDynamicFunctionSymbol getDfs()
-
getGosuAnnotations
protected List<IGosuAnnotation> getGosuAnnotations()
- Specified by:
getGosuAnnotations
in classGosuBaseAttributedFeatureInfo
-
getArgs
public List<IReducedSymbol> getArgs()
-
-