java.lang.Object
de.grogra.xl.compiler.scope.Scope
de.grogra.xl.compiler.scope.CompilationUnitScope
- All Implemented Interfaces:
Member
-
Field Summary
Fields inherited from interface de.grogra.reflect.Member
ABSTRACT, ACCESS_MODIFIERS, ARRAY, BRIDGE, CONSTANT, FINAL, INTERFACE, JAVA_MODIFIERS, LOCAL_CLASS, MIN_UNUSED_MODIFIER, NATIVE, PRIVATE, PROTECTED, PUBLIC, STATIC, STRICT, SYNCHRONIZED, SYNTHETIC, TRANSIENT, VARARGS, VOLATILE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
declareLocalClass
(CClass type) void
declareType
(CClass type) void
dispose()
void
findMembers
(String name, int flags, Members list) Finds all members which are declared in this scope or enclosing scopes.static CompilationUnitScope
getDeclaredAnnotation
(int index) int
Type[]
Returns the declaring type of which this is a member.Returns a descriptor for this member.Type[]
int
Returns the modifiers of this member as a combination of the bit masks which are defined in this interface.getName()
Returns the name of this member.Returns the simple name of this member.void
setAnnotations
(Annotation[] annotations) Methods inherited from class de.grogra.xl.compiler.scope.Scope
dump, encloses, getDeclaredType, getDefaultModuleSuperclass, getEnclosingScope, getExtension, getInstantiationProducerType, getOwnerOf, getPackage, getPropertyModel, getQueryModel, getRoot, insert, isD2FImplicit, isEnabledConversion, isShadowedBy, isStatic
-
Field Details
-
properties
-
-
Constructor Details
-
CompilationUnitScope
-
-
Method Details
-
get
-
getCompiler
- Overrides:
getCompiler
in classScope
-
getSource
-
findMembers
Description copied from class:Scope
Finds all members which are declared in this scope or enclosing scopes. This method should be overwritten by subclasses; an invocation ofsuper.findMembers
has to be included in order to look for members in enclosing scopes. Theflags
are a combination of the bit masks defined inMembers
, they are used to restrict the range of possible members.- Overrides:
findMembers
in classScope
- Parameters:
name
- simple name of the members to findflags
- combination of masks defined inMembers
list
- found members are added to this list
-
declareType
-
declareLocalClass
-
getDeclaredTypes
-
getLocalClasses
-
getDeclaredPublicType
-
setAnnotations
-
getDeclaredAnnotation
- Specified by:
getDeclaredAnnotation
in interfaceMember
-
getDeclaredAnnotationCount
public int getDeclaredAnnotationCount()- Specified by:
getDeclaredAnnotationCount
in interfaceMember
-
dispose
public void dispose() -
getDeclaredEntity
- Overrides:
getDeclaredEntity
in classScope
-
getDeclaringType
Description copied from interface:Member
Returns the declaring type of which this is a member. May benull
if such a type does not exist.- Specified by:
getDeclaringType
in interfaceMember
- Returns:
- this member's declaring type
-
getDescriptor
Description copied from interface:Member
Returns a descriptor for this member. Descriptors are constructed as follows:- For types, descriptors are defined as for the Java Virtual
Machine. For primitive types these are the single characters
'Z', 'B', 'S', 'C', 'I', 'J', 'F', 'D', 'V'
for
boolean
,byte
,short
,char
,int
,long
,float
,double
,void
. For array types, the descriptor is the character '[' plus the descriptor of its component type, e.g.,[[I
forint[][]
. For non-array reference types, the descriptor is the character 'L', followed by the binary name (seeType.getBinaryName()
) of the type, where '.' has to be replaced by '/', followed by ';', e.g.,Ljava/lang/Object;
. - For fields, the descriptor is the character 'f', followed by the
simple name of the field, followed by the character ';', followed
by the descriptor of the field's type. E.g.,
fout;Ljava/io/PrintStream;
for the fieldSystem.out
. - For methods and constructors, the descriptor is the character
'm', followed by the simple name of the method (which is
<init>
for constructors), followed by the characters ';' and '(', followed by the descriptors of the method's parameter types, followed by ')', followed by the descriptor of the return type. E.g.mprintln;(Ljava/lang/String;)V
for the methodPrintStream.println(String)
.
- Specified by:
getDescriptor
in interfaceMember
- Returns:
- the member's descriptor
- For types, descriptors are defined as for the Java Virtual
Machine. For primitive types these are the single characters
'Z', 'B', 'S', 'C', 'I', 'J', 'F', 'D', 'V'
for
-
getModifiers
public int getModifiers()Description copied from interface:Member
Returns the modifiers of this member as a combination of the bit masks which are defined in this interface.- Specified by:
getModifiers
in interfaceMember
- Returns:
- modifiers of this member
-
getName
Description copied from interface:Member
Returns the name of this member. For types, this is the canonical name of the type, e.g,java.lang.Object
,java.util.Map.Entry
. Otherwise, it equalsMember.getSimpleName()
. -
getSimpleName
Description copied from interface:Member
Returns the simple name of this member. This is the single identifier with which the member is declared in source code, e.g.,Object
,out
,println
.- Specified by:
getSimpleName
in interfaceMember
- Returns:
- simple name of the member
-