Package gw.internal.gosu.parser
Class GosuClassTypeInfo
- java.lang.Object
-
- gw.lang.reflect.BaseFeatureInfo
-
- gw.lang.reflect.BaseTypeInfo
-
- gw.internal.gosu.parser.GosuClassTypeInfo
-
- All Implemented Interfaces:
IGosuClassTypeInfo
,IAnnotatedFeatureInfo
,IAttributedFeatureInfo
,IFeatureInfo
,IRelativeTypeInfo
,ITypeInfo
public class GosuClassTypeInfo extends BaseTypeInfo implements IGosuClassTypeInfo
-
-
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
-
Nested classes/interfaces inherited from interface gw.lang.reflect.IRelativeTypeInfo
IRelativeTypeInfo.Accessibility
-
Nested classes/interfaces inherited from interface gw.lang.reflect.ITypeInfo
ITypeInfo.FIND
-
-
Field Summary
-
Fields inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
ANNOTATION_HELPER
-
Fields inherited from interface gw.lang.reflect.IRelativeTypeInfo
Accessibility_Size
-
Fields inherited from interface gw.lang.reflect.ITypeInfo
TYPEINFO_EXT
-
-
Constructor Summary
Constructors Constructor Description GosuClassTypeInfo(IGosuClassInternal gsClass)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
forceInit()
IRelativeTypeInfo.Accessibility
getAccessibilityForType(IType whosaskin)
IConstructorInfo
getCallableConstructor(IType... params)
Returns a IConstructorInfo matching the specified parameter types or null if no match is found.IMethodInfo
getCallableMethod(CharSequence strMethod, IType... params)
Returns a IMethodInfo matching the specified name and has parameter types that produce the best match.IConstructorInfo
getConstructor(IType... params)
Returns a IConstructorInfo that has parameter types that produce the best match.IConstructorInfo
getConstructor(IType whosAskin, IType[] params)
List<GosuConstructorInfo>
getConstructors()
List<GosuConstructorInfo>
getConstructors(IType whosAskin)
List<IAnnotationInfo>
getDeclaredAnnotations()
List<? extends IConstructorInfo>
getDeclaredConstructors()
Returns a list ofIConstructorInfo
objects reflecting all the constructors declared by the class represented by thisIType
object.List<? extends IMethodInfo>
getDeclaredMethods()
Returns a list ofIMethodInfo
objects reflecting all the methods declared by the class or interface represented by thisIType
object.List<? extends IPropertyInfo>
getDeclaredProperties()
Returns a list ofIPropertyInfo
objects reflecting all the properties declared by the class or interface represented by thisIType
object.String
getDescription()
A full description of this feature.IEventInfo
getEvent(CharSequence strEvent)
Get an event mapped to the specified name.List<IEventInfo>
getEvents()
IGosuClassInternal
getGosuClass()
IMethodInfo
getMethod(IType whosaskin, CharSequence methodName, IType... params)
IMethodInfo
getMethod(CharSequence methodName, IType... params)
Returns a IMethodInfo matching the specified name and parameter types or null if no match is found.MethodList
getMethods()
MethodList
getMethods(IType whosAskin)
IModifierInfo
getModifierInfo(GosuBaseAttributedFeatureInfo featureInfo)
String
getName()
Gets the programmatic name or identifier of this feature.List<? extends IPropertyInfo>
getProperties()
List<IPropertyInfo>
getProperties(IType whosAskin)
IPropertyInfo
getProperty(IType whosAskin, CharSequence propName)
IPropertyInfo
getProperty(CharSequence propName)
Get a property mapped to the specified name.boolean
isDeprecated()
static boolean
isIncludeAll()
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
isStatic()
True if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.static void
popIncludeAll()
static void
pushIncludeAll()
void
setModifierInfo(GosuBaseAttributedFeatureInfo featureInfo, IModifierInfo modifierInfo)
String
toString()
void
unload()
-
Methods inherited from class gw.lang.reflect.BaseFeatureInfo
getAnnotation, getAnnotations, getAnnotationsOfType, getContainer, getDeprecatedReason, getDisplayName, getOwnersType, getParamTypes, getSuperAnnotatedElements, hasAnnotation, hasDeclaredAnnotation, isAbstract, isDefaultImpl, isFinal, isHidden, isInternalAPI, isReified, isScriptable, isVisible
-
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, getDeprecatedReason, hasAnnotation, hasDeclaredAnnotation, isDefaultImpl
-
Methods inherited from interface gw.lang.reflect.IAttributedFeatureInfo
isAbstract, isFinal, isHidden, isReified, isScriptable, isVisible
-
Methods inherited from interface gw.lang.reflect.IFeatureInfo
getContainer, getDisplayName, getLocationInfo, getOwnersType
-
-
-
-
Constructor Detail
-
GosuClassTypeInfo
public GosuClassTypeInfo(IGosuClassInternal gsClass)
-
-
Method Detail
-
pushIncludeAll
public static void pushIncludeAll()
-
popIncludeAll
public static void popIncludeAll()
-
isIncludeAll
public static boolean isIncludeAll()
-
forceInit
public void forceInit()
-
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
- Overrides:
isStatic
in classBaseTypeInfo
-
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
-
isDeprecated
public boolean isDeprecated()
- Specified by:
isDeprecated
in interfaceIAnnotatedFeatureInfo
- Overrides:
isDeprecated
in classBaseFeatureInfo
- Returns:
- True if this feature is deprecated.
-
getDeclaredAnnotations
public List<IAnnotationInfo> getDeclaredAnnotations()
- Specified by:
getDeclaredAnnotations
in interfaceIAnnotatedFeatureInfo
- Overrides:
getDeclaredAnnotations
in classBaseTypeInfo
- 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.
-
getDeclaredMethods
public List<? extends IMethodInfo> getDeclaredMethods()
Description copied from interface:IRelativeTypeInfo
Returns a list ofIMethodInfo
objects reflecting all the methods declared by the class or interface represented by thisIType
object. This includes public, protected, internal access, and private methods, but excludes inherited methods. The elements in the list are ordered by declaration order in the file. This method returns an empty list if the type does not contain any methods- Specified by:
getDeclaredMethods
in interfaceIRelativeTypeInfo
- Returns:
- the list of
IMethodInfo
objects representing all the declared methods of this class
-
getDeclaredProperties
public List<? extends IPropertyInfo> getDeclaredProperties()
Description copied from interface:IRelativeTypeInfo
Returns a list ofIPropertyInfo
objects reflecting all the properties declared by the class or interface represented by thisIType
object. This includes public, protected, internal access, and private properties, but excludes inherited properties. The elements in the list are ordered by declaration order in the file. This method returns an empty list if the type does not contain any properties- Specified by:
getDeclaredProperties
in interfaceIRelativeTypeInfo
- Returns:
- the list of
IPropertyInfo
objects representing all the declared properties of this class
-
getDeclaredConstructors
public List<? extends IConstructorInfo> getDeclaredConstructors()
Description copied from interface:IRelativeTypeInfo
Returns a list ofIConstructorInfo
objects reflecting all the constructors declared by the class represented by thisIType
object. This includes public, protected, internal access, and private constructors. Interfaces and arrays always return an empty list. The elements in the list are ordered by declaration order in the file. This method returns an empty list if the type does not contain any methods- Specified by:
getDeclaredConstructors
in interfaceIRelativeTypeInfo
- Returns:
- the list of
IConstructorInfo
objects representing all the declared methods of this class
-
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
- Overrides:
getName
in classBaseTypeInfo
-
getAccessibilityForType
public IRelativeTypeInfo.Accessibility getAccessibilityForType(IType whosaskin)
- Specified by:
getAccessibilityForType
in interfaceIRelativeTypeInfo
-
getProperties
public List<? extends IPropertyInfo> getProperties()
- Specified by:
getProperties
in interfaceITypeInfo
- Overrides:
getProperties
in classBaseTypeInfo
- Returns:
- An unmodifiable random access list of
IPropertyInfo
instances. The list is sorted ascending by name. Returns an empty list if there are no properties.
-
getProperties
public List<IPropertyInfo> getProperties(IType whosAskin)
- Specified by:
getProperties
in interfaceIRelativeTypeInfo
-
getProperty
public IPropertyInfo getProperty(CharSequence propName)
Description copied from interface:ITypeInfo
Get a property mapped to the specified name.- Specified by:
getProperty
in interfaceITypeInfo
- Overrides:
getProperty
in classBaseTypeInfo
- Parameters:
propName
- The property name.- Returns:
- An IPropertyInfo corresponding to the property name.
-
getProperty
public IPropertyInfo getProperty(IType whosAskin, CharSequence propName)
- Specified by:
getProperty
in interfaceIRelativeTypeInfo
-
getMethods
public MethodList getMethods()
- Specified by:
getMethods
in interfaceITypeInfo
- Overrides:
getMethods
in classBaseTypeInfo
- Returns:
- An unmodifiable random access list of
IMethodInfo
instances. The list is sorted ascending by name. Returns an empty list if there are no methods.
-
getMethods
public MethodList getMethods(IType whosAskin)
- Specified by:
getMethods
in interfaceIRelativeTypeInfo
-
getConstructors
public List<GosuConstructorInfo> getConstructors()
- Specified by:
getConstructors
in interfaceITypeInfo
- Overrides:
getConstructors
in classBaseTypeInfo
- Returns:
- An unmodifiable random access list of
IConstructorInfo
instances. The list is sorted ascending by name. Returns an empty list if there are no constructors.
-
getConstructors
public List<GosuConstructorInfo> getConstructors(IType whosAskin)
- Specified by:
getConstructors
in interfaceIRelativeTypeInfo
-
getMethod
public IMethodInfo getMethod(CharSequence methodName, IType... params)
Description copied from interface:ITypeInfo
Returns a IMethodInfo matching the specified name and parameter types or null if no match is found. Noteparams
must exactly match those of the target method in number, order, and type. If null,params
is treated as an empty array.- Specified by:
getMethod
in interfaceITypeInfo
- Overrides:
getMethod
in classBaseTypeInfo
- Parameters:
methodName
- The name of the method to find.params
- Represents the exact number, order, and type of parameters in the method. A null value here is treated as an empty array.- Returns:
- A IMethodInfo matching the name and parameter types.
-
getMethod
public IMethodInfo getMethod(IType whosaskin, CharSequence methodName, IType... params)
- Specified by:
getMethod
in interfaceIRelativeTypeInfo
-
getConstructor
public IConstructorInfo getConstructor(IType... params)
Description copied from interface:ITypeInfo
Returns a IConstructorInfo that has parameter types that produce the best match. If there is a tie with method names then this will throw an illegal argument exception.- Specified by:
getConstructor
in interfaceITypeInfo
- Overrides:
getConstructor
in classBaseTypeInfo
- Parameters:
params
- Represents the exact number, order, and type of parameters in the constructor. A null value here is treated as an empty array.- Returns:
- A IConstructorInfo matching the parameter types.
-
getConstructor
public IConstructorInfo getConstructor(IType whosAskin, IType[] params)
- Specified by:
getConstructor
in interfaceIRelativeTypeInfo
-
getCallableMethod
public IMethodInfo getCallableMethod(CharSequence strMethod, IType... params)
Description copied from interface:ITypeInfo
Returns a IMethodInfo matching the specified name and has parameter types that produce the best match. If there is a tie with method names then this will throw an illegal argument exception.- Specified by:
getCallableMethod
in interfaceITypeInfo
- Overrides:
getCallableMethod
in classBaseTypeInfo
- Parameters:
strMethod
- The name of the method to find.params
- Represents the exact number, order, and type of parameters in the method. A null value here is treated as an empty array.- Returns:
- A IMethodInfo matching the name and parameter types.
-
getCallableConstructor
public IConstructorInfo getCallableConstructor(IType... params)
Description copied from interface:ITypeInfo
Returns a IConstructorInfo matching the specified parameter types or null if no match is found.- Specified by:
getCallableConstructor
in interfaceITypeInfo
- Overrides:
getCallableConstructor
in classBaseTypeInfo
- Parameters:
params
- Represents the exact number, order, and type of parameters in the constructor. A null value here is treated as an empty array.- Returns:
- A IConstructorInfo matching the parameter types.
-
getEvents
public List<IEventInfo> getEvents()
- Specified by:
getEvents
in interfaceITypeInfo
- Overrides:
getEvents
in classBaseTypeInfo
- Returns:
- An unmodifiable random access list of
IEventInfo
instances. The list is sorted ascending by name. Returns an empty list if ther are no events.
-
getEvent
public IEventInfo getEvent(CharSequence strEvent)
Description copied from interface:ITypeInfo
Get an event mapped to the specified name.- Specified by:
getEvent
in interfaceITypeInfo
- Overrides:
getEvent
in classBaseTypeInfo
- Parameters:
strEvent
- The event name.- Returns:
- An IEventInfo corresponding to the event name.
-
getGosuClass
public IGosuClassInternal getGosuClass()
- Specified by:
getGosuClass
in interfaceIGosuClassTypeInfo
-
unload
public void unload()
-
getDescription
public String getDescription()
Description copied from interface:IFeatureInfo
A full description of this feature.- Specified by:
getDescription
in interfaceIFeatureInfo
- Overrides:
getDescription
in classBaseFeatureInfo
-
getModifierInfo
public IModifierInfo getModifierInfo(GosuBaseAttributedFeatureInfo featureInfo)
-
setModifierInfo
public void setModifierInfo(GosuBaseAttributedFeatureInfo featureInfo, IModifierInfo modifierInfo)
-
toString
public String toString()
- Overrides:
toString
in classBaseFeatureInfo
-
-