Package gw.internal.gosu.parser
Class CompoundTypeInfo
- java.lang.Object
-
- gw.lang.reflect.BaseFeatureInfo
-
- gw.lang.reflect.BaseTypeInfo
-
- gw.internal.gosu.parser.CompoundTypeInfo
-
- All Implemented Interfaces:
IAnnotatedFeatureInfo,IAttributedFeatureInfo,IFeatureInfo,IRelativeTypeInfo,ITypeInfo
public class CompoundTypeInfo extends BaseTypeInfo implements IRelativeTypeInfo
-
-
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 Modifier and Type Field Description private MethodList_methodsprivate java.util.List<IPropertyInfo>_propertiesprivate java.util.Map<java.lang.CharSequence,IPropertyInfo>_propertiesByName-
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 CompoundTypeInfo(CompoundType intrType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidextractMethods()private voidextractProperties()IRelativeTypeInfo.AccessibilitygetAccessibilityForType(IType whosAskin)IConstructorInfogetCallableConstructor(IType... params)Returns a IConstructorInfo matching the specified parameter types or null if no match is found.IMethodInfogetCallableMethod(java.lang.CharSequence strMethod, IType... params)Returns a IMethodInfo matching the specified name and has parameter types that produce the best match.IConstructorInfogetConstructor(IType... params)Returns a IConstructorInfo that has parameter types that produce the best match.IConstructorInfogetConstructor(IType whosAskin, IType[] params)java.util.List<IConstructorInfo>getConstructors()java.util.List<? extends IConstructorInfo>getConstructors(IType whosaskin)java.util.List<IAnnotationInfo>getDeclaredAnnotations()java.util.List<? extends IConstructorInfo>getDeclaredConstructors()Returns a list ofIConstructorInfoobjects reflecting all the constructors declared by the class represented by thisITypeobject.java.util.List<? extends IMethodInfo>getDeclaredMethods()Returns a list ofIMethodInfoobjects reflecting all the methods declared by the class or interface represented by thisITypeobject.java.util.List<? extends IPropertyInfo>getDeclaredProperties()Returns a list ofIPropertyInfoobjects reflecting all the properties declared by the class or interface represented by thisITypeobject.IEventInfogetEvent(java.lang.CharSequence strEvent)Get an event mapped to the specified name.java.util.List<IEventInfo>getEvents()IMethodInfogetMethod(IType whosaskin, java.lang.CharSequence methodName, IType... params)IMethodInfogetMethod(java.lang.CharSequence methodName, IType... params)Returns a IMethodInfo matching the specified name and parameter types or null if no match is found.MethodListgetMethods()MethodListgetMethods(IType whosaskin)CompoundTypegetOwnersType()Get this feature's owner's type.java.util.List<? extends IPropertyInfo>getProperties()java.util.List<? extends IPropertyInfo>getProperties(IType whosaskin)IPropertyInfogetProperty(IType whosaskin, java.lang.CharSequence propName)IPropertyInfogetProperty(java.lang.CharSequence propName)Get a property mapped to the specified name.private booleanisHidden(IRelativeTypeInfo.Accessibility accessibility, IAttributedFeatureInfo fi)-
Methods inherited from class gw.lang.reflect.BaseTypeInfo
getName, isStatic
-
Methods inherited from class gw.lang.reflect.BaseFeatureInfo
getAnnotation, getAnnotations, getAnnotationsOfType, getContainer, getDeprecatedReason, getDescription, getDisplayName, getParamTypes, getSuperAnnotatedElements, hasAnnotation, hasDeclaredAnnotation, isAbstract, isDefaultImpl, isDeprecated, isFinal, isHidden, isInternal, isInternalAPI, isPrivate, isProtected, isPublic, isReified, isScriptable, isVisible, 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, getDeprecatedReason, hasAnnotation, hasDeclaredAnnotation, isDefaultImpl, isDeprecated
-
Methods inherited from interface gw.lang.reflect.IFeatureInfo
getContainer, getDescription, getDisplayName, getLocationInfo, getName
-
-
-
-
Field Detail
-
_propertiesByName
private volatile java.util.Map<java.lang.CharSequence,IPropertyInfo> _propertiesByName
-
_properties
private volatile java.util.List<IPropertyInfo> _properties
-
_methods
private volatile MethodList _methods
-
-
Constructor Detail
-
CompoundTypeInfo
public CompoundTypeInfo(CompoundType intrType)
-
-
Method Detail
-
getOwnersType
public CompoundType getOwnersType()
Description copied from interface:IFeatureInfoGet this feature's owner's type. If this feature has no owner, this is the type of the feature itself. Typically, the only kind of feature w/o an owner is an ITypeInfo, so properties, methods, params, etc. s/b considered owned. Hence, ultimately an ITypeInfo's type will be the owner's type for any given feature.- Specified by:
getOwnersTypein interfaceIFeatureInfo- Overrides:
getOwnersTypein classBaseFeatureInfo
-
getProperties
public java.util.List<? extends IPropertyInfo> getProperties()
- Specified by:
getPropertiesin interfaceITypeInfo- Overrides:
getPropertiesin classBaseTypeInfo- Returns:
- An unmodifiable random access list of
IPropertyInfoinstances. The list is sorted ascending by name. Returns an empty list if there are no properties.
-
getProperty
public IPropertyInfo getProperty(java.lang.CharSequence propName)
Description copied from interface:ITypeInfoGet a property mapped to the specified name.- Specified by:
getPropertyin interfaceITypeInfo- Overrides:
getPropertyin classBaseTypeInfo- Parameters:
propName- The property name.- Returns:
- An IPropertyInfo corresponding to the property name.
-
getMethods
public MethodList getMethods()
- Specified by:
getMethodsin interfaceITypeInfo- Overrides:
getMethodsin classBaseTypeInfo- Returns:
- An unmodifiable random access list of
IMethodInfoinstances. The list is sorted ascending by name. Returns an empty list if there are no methods.
-
getMethod
public IMethodInfo getMethod(java.lang.CharSequence methodName, IType... params)
Description copied from interface:ITypeInfoReturns a IMethodInfo matching the specified name and parameter types or null if no match is found. Noteparamsmust exactly match those of the target method in number, order, and type. If null,paramsis treated as an empty array.- Specified by:
getMethodin interfaceITypeInfo- Overrides:
getMethodin 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.
-
getConstructors
public java.util.List<IConstructorInfo> getConstructors()
- Specified by:
getConstructorsin interfaceITypeInfo- Overrides:
getConstructorsin classBaseTypeInfo- Returns:
- An unmodifiable random access list of
IConstructorInfoinstances. The list is sorted ascending by name. Returns an empty list if there are no constructors.
-
getConstructor
public IConstructorInfo getConstructor(IType... params)
Description copied from interface:ITypeInfoReturns 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:
getConstructorin interfaceITypeInfo- Overrides:
getConstructorin 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.
-
getCallableMethod
public IMethodInfo getCallableMethod(java.lang.CharSequence strMethod, IType... params)
Description copied from interface:ITypeInfoReturns 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:
getCallableMethodin interfaceITypeInfo- Overrides:
getCallableMethodin 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:ITypeInfoReturns a IConstructorInfo matching the specified parameter types or null if no match is found.- Specified by:
getCallableConstructorin interfaceITypeInfo- Overrides:
getCallableConstructorin 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 java.util.List<IEventInfo> getEvents()
- Specified by:
getEventsin interfaceITypeInfo- Overrides:
getEventsin classBaseTypeInfo- Returns:
- An unmodifiable random access list of
IEventInfoinstances. The list is sorted ascending by name. Returns an empty list if ther are no events.
-
getEvent
public IEventInfo getEvent(java.lang.CharSequence strEvent)
Description copied from interface:ITypeInfoGet an event mapped to the specified name.- Specified by:
getEventin interfaceITypeInfo- Overrides:
getEventin classBaseTypeInfo- Parameters:
strEvent- The event name.- Returns:
- An IEventInfo corresponding to the event name.
-
extractProperties
private void extractProperties()
-
extractMethods
private void extractMethods()
-
getDeclaredAnnotations
public java.util.List<IAnnotationInfo> getDeclaredAnnotations()
- Specified by:
getDeclaredAnnotationsin interfaceIAnnotatedFeatureInfo- Overrides:
getDeclaredAnnotationsin 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.
-
getAccessibilityForType
public IRelativeTypeInfo.Accessibility getAccessibilityForType(IType whosAskin)
- Specified by:
getAccessibilityForTypein interfaceIRelativeTypeInfo
-
getProperties
public java.util.List<? extends IPropertyInfo> getProperties(IType whosaskin)
- Specified by:
getPropertiesin interfaceIRelativeTypeInfo
-
getProperty
public IPropertyInfo getProperty(IType whosaskin, java.lang.CharSequence propName)
- Specified by:
getPropertyin interfaceIRelativeTypeInfo
-
getMethods
public MethodList getMethods(IType whosaskin)
- Specified by:
getMethodsin interfaceIRelativeTypeInfo
-
getMethod
public IMethodInfo getMethod(IType whosaskin, java.lang.CharSequence methodName, IType... params)
- Specified by:
getMethodin interfaceIRelativeTypeInfo
-
isHidden
private boolean isHidden(IRelativeTypeInfo.Accessibility accessibility, IAttributedFeatureInfo fi)
-
getConstructors
public java.util.List<? extends IConstructorInfo> getConstructors(IType whosaskin)
- Specified by:
getConstructorsin interfaceIRelativeTypeInfo
-
getConstructor
public IConstructorInfo getConstructor(IType whosAskin, IType[] params)
- Specified by:
getConstructorin interfaceIRelativeTypeInfo
-
getDeclaredProperties
public java.util.List<? extends IPropertyInfo> getDeclaredProperties()
Description copied from interface:IRelativeTypeInfoReturns a list ofIPropertyInfoobjects reflecting all the properties declared by the class or interface represented by thisITypeobject. 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:
getDeclaredPropertiesin interfaceIRelativeTypeInfo- Returns:
- the list of
IPropertyInfoobjects representing all the declared properties of this class
-
getDeclaredMethods
public java.util.List<? extends IMethodInfo> getDeclaredMethods()
Description copied from interface:IRelativeTypeInfoReturns a list ofIMethodInfoobjects reflecting all the methods declared by the class or interface represented by thisITypeobject. 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:
getDeclaredMethodsin interfaceIRelativeTypeInfo- Returns:
- the list of
IMethodInfoobjects representing all the declared methods of this class
-
getDeclaredConstructors
public java.util.List<? extends IConstructorInfo> getDeclaredConstructors()
Description copied from interface:IRelativeTypeInfoReturns a list ofIConstructorInfoobjects reflecting all the constructors declared by the class represented by thisITypeobject. 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:
getDeclaredConstructorsin interfaceIRelativeTypeInfo- Returns:
- the list of
IConstructorInfoobjects representing all the declared methods of this class
-
-