Package gw.internal.gosu.parser
Class MetaTypeTypeInfo
java.lang.Object
gw.lang.reflect.BaseFeatureInfo
gw.internal.gosu.parser.MetaTypeTypeInfo
- All Implemented Interfaces:
IAnnotatedFeatureInfo,IAttributedFeatureInfo,IFeatureInfo,IRelativeTypeInfo,ITypeInfo
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static classprivate static classclassNested classes/interfaces inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
IAnnotatedFeatureInfo.IAnnotationInfoHelperNested classes/interfaces inherited from interface gw.lang.reflect.IAttributedFeatureInfo
IAttributedFeatureInfo.MODIFIERNested classes/interfaces inherited from interface gw.lang.reflect.IRelativeTypeInfo
IRelativeTypeInfo.AccessibilityNested classes/interfaces inherited from interface gw.lang.reflect.ITypeInfo
ITypeInfo.FIND -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Map<IModule,List<IMethodInfo>> private Map<IModule,List<IPropertyInfo>> private FeatureManagerFields inherited from interface gw.lang.reflect.IAnnotatedFeatureInfo
ANNOTATION_HELPERFields inherited from interface gw.lang.reflect.IRelativeTypeInfo
Accessibility_SizeFields inherited from interface gw.lang.reflect.ITypeInfo
TYPEINFO_EXT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddForNameMethod(MethodList methods) private voidaddTypeProperty(Map<CharSequence, IPropertyInfo> propertiesByName) private booleanareParameterTypesEqual(IMethodInfo methodInfo, IMethodInfo candidate) private booleancanAccessPrivateMembers(IType ownersClass, IType whosAskin) A private feature is accessible from its declaring class and any inner class defined in its declaring class.getAccessibilityForType(IType whosAskin) getCallableConstructor(IType... params) Returns a IConstructorInfo matching the specified parameter types or null if no match is found.getCallableMethod(CharSequence strMethod, IType... params) Returns a IMethodInfo matching the specified name and has parameter types that produce the best match.getConstructor(IType... params) Returns a IConstructorInfo that has parameter types that produce the best match.getConstructor(IType whosAskin, IType[] params) List<? extends IConstructorInfo>getConstructors(IType whosaskin) List<? extends IConstructorInfo>Returns a list ofIConstructorInfoobjects reflecting all the constructors declared by the class represented by thisITypeobject.List<? extends IMethodInfo>Returns a list ofIMethodInfoobjects reflecting all the methods declared by the class or interface represented by thisITypeobject.List<? extends IPropertyInfo>Returns a list ofIPropertyInfoobjects reflecting all the properties declared by the class or interface represented by thisITypeobject.getEvent(CharSequence strEvent) Get an event mapped to the specified name.getMethod(IType whosaskin, CharSequence methodName, IType... params) getMethod(CharSequence methodName, IType... params) Returns a IMethodInfo matching the specified name and parameter types or null if no match is found.getMethods(IType whosAskin) private List<? extends IMethodInfo>getMethods(ITypeInfo typeInfo) getName()Gets the programmatic name or identifier of this feature.Get this feature's owner's type.List<? extends IPropertyInfo>List<? extends IPropertyInfo>getProperties(IType whosaskin) getProperty(IType whosAskin, CharSequence propName) getProperty(CharSequence propName) Get a property mapped to the specified name.private StringgetTopLevelTypeName(IType type) getTypeInterfaces(IType type, Set<IType> set) private ITypegetTypeOfType(IType type) booleanisStatic()True if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.private voidloadMetaTypeMethods(Set<IMethodInfo> methods) private voidloadMetaTypeProperties(Map<CharSequence, IPropertyInfo> properties) private MethodListmergeMethods(ITypeInfo typeTypeInfo) private Map<CharSequence,IPropertyInfo> mergeProperties(ITypeInfo typeTypeInfo) private booleanshouldAddMethod(Set<IMethodInfo> methodInfos, IMethodInfo candidate) 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, toStringMethods 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, getDeprecatedReason, hasAnnotation, hasDeclaredAnnotation, isDefaultImpl, isDeprecatedMethods inherited from interface gw.lang.reflect.IFeatureInfo
getContainer, getDescription, getDisplayName, getLocationInfo
-
Field Details
-
_fm
-
_declaredMethods
-
_declaredProperties
-
-
Constructor Details
-
MetaTypeTypeInfo
-
-
Method Details
-
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
-
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
-
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
-
getProperties
- Specified by:
getPropertiesin interfaceITypeInfo- 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
Description copied from interface:ITypeInfoGet a property mapped to the specified name.- Specified by:
getPropertyin interfaceITypeInfo- Parameters:
propName- The property name.- Returns:
- An IPropertyInfo corresponding to the property name.
-
getProperty
- Specified by:
getPropertyin interfaceIRelativeTypeInfo
-
getMethods
- Specified by:
getMethodsin interfaceITypeInfo- 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
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. -
getConstructors
- Specified by:
getConstructorsin interfaceITypeInfo- 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
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- 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
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- 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
Description copied from interface:ITypeInfoReturns a IConstructorInfo matching the specified parameter types or null if no match is found.- Specified by:
getCallableConstructorin interfaceITypeInfo- 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
-
getEvent
Description copied from interface:ITypeInfoGet an event mapped to the specified name. -
addForNameMethod
-
mergeProperties
-
addTypeProperty
-
getMethods
-
mergeMethods
-
getDeclaredAnnotations
- Specified by:
getDeclaredAnnotationsin interfaceIAnnotatedFeatureInfo- 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
- Specified by:
getAccessibilityForTypein interfaceIRelativeTypeInfo
-
canAccessPrivateMembers
A private feature is accessible from its declaring class and any inner class defined in its declaring class. -
getTopLevelTypeName
-
getProperties
- Specified by:
getPropertiesin interfaceIRelativeTypeInfo
-
getMethods
- Specified by:
getMethodsin interfaceIRelativeTypeInfo
-
getMethod
- Specified by:
getMethodin interfaceIRelativeTypeInfo
-
getConstructors
- Specified by:
getConstructorsin interfaceIRelativeTypeInfo
-
getConstructor
- Specified by:
getConstructorin interfaceIRelativeTypeInfo
-
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
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
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
-
loadMetaTypeProperties
-
makeTreeSet
-
getTypeOfType
-
loadMetaTypeMethods
-
shouldAddMethod
-
areParameterTypesEqual
-
getTypeInterfaces
-