Class JavaSourceType
- java.lang.Object
-
- gw.lang.reflect.java.JavaSourceElement
-
- gw.lang.reflect.java.AbstractJavaClassInfo
-
- gw.internal.gosu.parser.java.classinfo.JavaSourceType
-
- All Implemented Interfaces:
IJavaAnnotatedElement,IJavaClassInfo,IJavaClassType,ITypeInfoResolver,Serializable
- Direct Known Subclasses:
JavaSourceAnnotation,JavaSourceClass,JavaSourceEnum,JavaSourceInterface
public abstract class JavaSourceType extends AbstractJavaClassInfo implements ITypeInfoResolver
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface gw.lang.reflect.java.IJavaClassInfo
IJavaClassInfo.Util
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,Object>_cacheprotected IJavaClassConstructor[]_constructorsprotected JavaSourceType_enclosingClassprotected IJavaClassField[]_fieldsprotected String_fullyQualifiedNameprotected IJavaClassType[]_genericInterfacesprotected IJavaClassType_genericSuperClassprotected IModule_gosuModuleprotected List<String>_importListprotected IJavaClassInfo[]_innerClassesprotected IJavaClassInfo[]_interfacesprotected IJavaClassMethod[]_methodsprotected JavaSourceModifierList_modifiersListprotected String_namespaceprotected String_simpleNameprotected IJavaClassTypeVariable[]_typeParametersstatic intIGNORE_INTERFACESstatic intIGNORE_NONEstatic intIGNORE_SUPERCLASS-
Fields inherited from interface gw.lang.reflect.java.IJavaClassInfo
LOCK
-
Fields inherited from interface gw.lang.reflect.java.IJavaClassType
EMPTY_ARRAY, ERROR_TYPE, NULL_TYPE
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedJavaSourceType(ClassTree typeDecl, JavaSourceType enclosingClass)For inner classes.protectedJavaSourceType(ISourceFileHandle fileHandle, CompilationUnitTree compilationUnitTree, ClassTree typeDecl, List<? extends ImportTree> imports, SourcePositions sourcePositions, IModule gosuModule)For top level classes.
-
Method Summary
-
Methods inherited from class gw.lang.reflect.java.AbstractJavaClassInfo
equals, equals, hashCode, hashCode, isAssignableFrom, isAssignableFrom
-
Methods inherited from class gw.lang.reflect.java.JavaSourceElement
findInnerSourceType, getLocationInfo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gw.lang.reflect.java.IJavaAnnotatedElement
getLocationInfo
-
Methods inherited from interface gw.lang.reflect.java.IJavaClassInfo
getDeclaredField, getField
-
Methods inherited from interface gw.lang.reflect.java.IJavaClassType
isAssignableFrom
-
-
-
-
Field Detail
-
IGNORE_NONE
public static final int IGNORE_NONE
- See Also:
- Constant Field Values
-
IGNORE_INTERFACES
public static final int IGNORE_INTERFACES
- See Also:
- Constant Field Values
-
IGNORE_SUPERCLASS
public static final int IGNORE_SUPERCLASS
- See Also:
- Constant Field Values
-
_gosuModule
protected IModule _gosuModule
-
_fullyQualifiedName
protected String _fullyQualifiedName
-
_namespace
protected String _namespace
-
_simpleName
protected String _simpleName
-
_enclosingClass
protected JavaSourceType _enclosingClass
-
_fields
protected IJavaClassField[] _fields
-
_methods
protected IJavaClassMethod[] _methods
-
_modifiersList
protected JavaSourceModifierList _modifiersList
-
_innerClasses
protected IJavaClassInfo[] _innerClasses
-
_constructors
protected IJavaClassConstructor[] _constructors
-
_interfaces
protected IJavaClassInfo[] _interfaces
-
_genericSuperClass
protected IJavaClassType _genericSuperClass
-
_typeParameters
protected IJavaClassTypeVariable[] _typeParameters
-
_genericInterfaces
protected IJavaClassType[] _genericInterfaces
-
-
Constructor Detail
-
JavaSourceType
protected JavaSourceType(ISourceFileHandle fileHandle, CompilationUnitTree compilationUnitTree, ClassTree typeDecl, List<? extends ImportTree> imports, SourcePositions sourcePositions, IModule gosuModule)
For top level classes.
-
JavaSourceType
protected JavaSourceType(ClassTree typeDecl, JavaSourceType enclosingClass)
For inner classes.
-
-
Method Detail
-
createTopLevel
public static IJavaClassInfo createTopLevel(ISourceFileHandle fileHandle, IModule gosuModule)
-
createTopLevel
public static IJavaClassInfo createTopLevel(ISourceFileHandle fileHandle, IModule gosuModule, DiagnosticCollector<JavaFileObject> errorHandler)
-
createType
public static IJavaClassType createType(ITypeInfoResolver typeResolver, Tree tree)
-
createType
public static IJavaClassType createType(ITypeInfoResolver typeResolver, String typeName, int ignoreFlags)
-
makeImportList
protected void makeImportList(List<? extends ImportTree> imports)
-
getModule
public IModule getModule()
- Specified by:
getModulein interfaceIJavaClassType- Specified by:
getModulein interfaceITypeInfoResolver
-
getNameSignature
public String getNameSignature()
- Specified by:
getNameSignaturein interfaceIJavaClassInfo
-
getRelativeName
public String getRelativeName()
- Specified by:
getRelativeNamein interfaceIJavaClassInfo
-
getDisplayName
public String getDisplayName()
- Specified by:
getDisplayNamein interfaceIJavaClassInfo
-
getSimpleName
public String getSimpleName()
- Specified by:
getSimpleNamein interfaceIJavaClassType
-
isArray
public boolean isArray()
- Specified by:
isArrayin interfaceIJavaClassInfo- Specified by:
isArrayin interfaceIJavaClassType
-
getName
public String getName()
- Specified by:
getNamein interfaceIJavaClassType
-
getInterfaces
public IJavaClassInfo[] getInterfaces()
- Specified by:
getInterfacesin interfaceIJavaClassInfo
-
getGenericInterfaces
public IJavaClassType[] getGenericInterfaces()
- Specified by:
getGenericInterfacesin interfaceIJavaClassInfo
-
getSuperclass
public IJavaClassInfo getSuperclass()
- Specified by:
getSuperclassin interfaceIJavaClassInfo
-
getGenericSuperclass
public IJavaClassType getGenericSuperclass()
- Specified by:
getGenericSuperclassin interfaceIJavaClassInfo
-
initMethodsAndConstructors
public void initMethodsAndConstructors()
-
getDeclaredMethods
public IJavaClassMethod[] getDeclaredMethods()
- Specified by:
getDeclaredMethodsin interfaceIJavaClassInfo
-
getDeclaredConstructors
public IJavaClassConstructor[] getDeclaredConstructors()
- Specified by:
getDeclaredConstructorsin interfaceIJavaClassInfo
-
getConstructor
public IJavaClassConstructor getConstructor(IJavaClassInfo... paramTypes) throws NoSuchMethodException
- Specified by:
getConstructorin interfaceIJavaClassInfo- Throws:
NoSuchMethodException
-
getDeclaredFields
public IJavaClassField[] getDeclaredFields()
- Specified by:
getDeclaredFieldsin interfaceIJavaClassInfo
-
getFields
public IJavaClassField[] getFields()
- Specified by:
getFieldsin interfaceIJavaClassInfo
-
getEnumConstants
public Object[] getEnumConstants()
- Specified by:
getEnumConstantsin interfaceIJavaClassInfo
-
getPropertyDescriptors
public IJavaPropertyDescriptor[] getPropertyDescriptors()
- Specified by:
getPropertyDescriptorsin interfaceIJavaClassInfo
-
getJavaType
public IType getJavaType()
- Specified by:
getJavaTypein interfaceIJavaClassInfo
-
setJavaType
public void setJavaType(IJavaType javaType)
-
getTypeParameters
public IJavaClassTypeVariable[] getTypeParameters()
- Specified by:
getTypeParametersin interfaceIJavaClassInfo
-
createClassDocNode
public IClassDocNode createClassDocNode()
- Specified by:
createClassDocNodein interfaceIJavaClassInfo
-
hasCustomBeanInfo
public boolean hasCustomBeanInfo()
- Specified by:
hasCustomBeanInfoin interfaceIJavaClassInfo
-
isVisibleViaFeatureDescriptor
public boolean isVisibleViaFeatureDescriptor(IScriptabilityModifier constraint)
- Specified by:
isVisibleViaFeatureDescriptorin interfaceIJavaClassInfo
-
isHiddenViaFeatureDescriptor
public boolean isHiddenViaFeatureDescriptor()
- Specified by:
isHiddenViaFeatureDescriptorin interfaceIJavaClassInfo
-
getComponentType
public IJavaClassInfo getComponentType()
- Specified by:
getComponentTypein interfaceIJavaClassInfo- Specified by:
getComponentTypein interfaceIJavaClassType
-
getModifiers
public int getModifiers()
- Specified by:
getModifiersin interfaceIJavaClassInfo
-
getModifierList
public IModifierList getModifierList()
-
getEnclosingType
public IType getEnclosingType()
- Specified by:
getEnclosingTypein interfaceIJavaClassInfo
-
getNamespace
public String getNamespace()
- Specified by:
getNamespacein interfaceIJavaClassType
-
getArrayType
public IJavaClassInfo getArrayType()
- Specified by:
getArrayTypein interfaceIJavaClassInfo
-
getDeclaredClasses
public IJavaClassInfo[] getDeclaredClasses()
- Specified by:
getDeclaredClassesin interfaceIJavaClassInfo
-
getBackingClass
public Class getBackingClass()
- Specified by:
getBackingClassin interfaceIJavaClassInfo
-
getInnerClass
public IJavaClassInfo getInnerClass(String relativeName)
-
getActualType
public IType getActualType(TypeVarToTypeMap typeMap)
- Specified by:
getActualTypein interfaceIJavaClassType
-
getActualType
public IType getActualType(TypeVarToTypeMap typeMap, boolean bKeepTypeVars)
- Specified by:
getActualTypein interfaceIJavaClassType
-
getConcreteType
public IJavaClassType getConcreteType()
- Specified by:
getConcreteTypein interfaceIJavaClassType
-
isClass
public boolean isClass()
-
isInterface
public boolean isInterface()
- Specified by:
isInterfacein interfaceIJavaClassInfo
-
newInstance
public Object newInstance() throws InstantiationException, IllegalAccessException
- Specified by:
newInstancein interfaceIJavaClassInfo- Throws:
InstantiationExceptionIllegalAccessException
-
getMethod
public IJavaClassMethod getMethod(String methodName, IJavaClassInfo... paramTypes) throws NoSuchMethodException
- Specified by:
getMethodin interfaceIJavaClassInfo- Throws:
NoSuchMethodException
-
getDeclaredMethod
public IJavaClassMethod getDeclaredMethod(String methodName, IJavaClassInfo... paramTypes) throws NoSuchMethodException
- Specified by:
getDeclaredMethodin interfaceIJavaClassInfo- Throws:
NoSuchMethodException
-
getMethodDescriptors
public IJavaMethodDescriptor[] getMethodDescriptors()
- Specified by:
getMethodDescriptorsin interfaceIJavaClassInfo
-
isEnum
public boolean isEnum()
- Specified by:
isEnumin interfaceIJavaClassInfo
-
isPrimitive
public boolean isPrimitive()
- Specified by:
isPrimitivein interfaceIJavaClassInfo
-
isAnnotation
public boolean isAnnotation()
- Specified by:
isAnnotationin interfaceIJavaClassInfo
-
isPublic
public boolean isPublic()
- Specified by:
isPublicin interfaceIJavaClassInfo
-
isProtected
public boolean isProtected()
- Specified by:
isProtectedin interfaceIJavaClassInfo
-
isPrivate
public boolean isPrivate()
- Specified by:
isPrivatein interfaceIJavaClassInfo
-
isInternal
public boolean isInternal()
- Specified by:
isInternalin interfaceIJavaClassInfo
-
resolveType
public IJavaClassType resolveType(String relativeName, int ignoreFlags)
- Specified by:
resolveTypein interfaceITypeInfoResolver
-
resolveType
public IJavaClassType resolveType(String relativeName, IJavaClassInfo whosAskin, int ignoreFlags)
- Specified by:
resolveTypein interfaceITypeInfoResolver
-
resolveImport
public IJavaClassType resolveImport(String relativeName)
- Specified by:
resolveImportin interfaceITypeInfoResolver
-
getEnclosingClass
public IJavaClassInfo getEnclosingClass()
- Specified by:
getEnclosingClassin interfaceIJavaAnnotatedElement- Specified by:
getEnclosingClassin classJavaSourceElement
-
getDeclaringClass
public IJavaClassInfo getDeclaringClass()
- Overrides:
getDeclaringClassin classJavaSourceElement
-
getDeepestClassAtOffset
public JavaSourceType getDeepestClassAtOffset(int offset)
- Specified by:
getDeepestClassAtOffsetin interfaceIJavaClassInfo
-
isAnnotationPresent
public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
- Specified by:
isAnnotationPresentin interfaceIJavaAnnotatedElement
-
getAnnotation
public IAnnotationInfo getAnnotation(Class annotationClass)
- Specified by:
getAnnotationin interfaceIJavaAnnotatedElement
-
getDeclaredAnnotations
public IAnnotationInfo[] getDeclaredAnnotations()
- Specified by:
getDeclaredAnnotationsin interfaceIJavaAnnotatedElement
-
getTypeUsesMap
public TypeUsesMap getTypeUsesMap()
-
getSourceFileHandle
public ISourceFileHandle getSourceFileHandle()
- Specified by:
getSourceFileHandlein interfaceIJavaClassInfo
-
isCompilable
public boolean isCompilable()
- Specified by:
isCompilablein interfaceIJavaClassInfo
-
compile
public byte[] compile()
- Specified by:
compilein interfaceIJavaClassInfo
-
getTree
public ClassTree getTree()
- Specified by:
getTreein classJavaSourceElement
-
getCompilationUnitTree
public CompilationUnitTree getCompilationUnitTree()
- Overrides:
getCompilationUnitTreein classJavaSourceElement
-
getSourcePositions
public SourcePositions getSourcePositions()
- Overrides:
getSourcePositionsin classJavaSourceElement
-
getStartPosition
public int getStartPosition()
- Overrides:
getStartPositionin classJavaSourceElement
-
getEndPosition
public int getEndPosition()
- Overrides:
getEndPositionin classJavaSourceElement
-
-