| java.lang.Object org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.ast.Statement org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
All known Subclasses: org.eclipse.jdt.internal.eval.CodeSnippetTypeDeclaration, org.eclipse.jdt.internal.codeassist.complete.CompletionOnAnnotationOfType,
Method Summary | |
public void | abort(int abortLevel, CategorizedProblem problem) | final public void | addClinit() This method is responsible for adding a method declaration to the type method collections.
Note that this implementation is inserting it in first place (as VAJ or javac), and that this
impacts the behavior of the method ConstantPool.resetForClinit(int. | public MethodDeclaration | addMissingAbstractMethodFor(MethodBinding methodBinding) | public FlowInfo | analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) | public void | analyseCode(ClassScope enclosingClassScope) | public void | analyseCode(ClassScope currentScope, FlowContext flowContext, FlowInfo flowInfo) | public void | analyseCode(CompilationUnitScope unitScope) | public boolean | checkConstructors(Parser parser) Check for constructor vs. | public CompilationResult | compilationResult() | public ConstructorDeclaration | createDefaultConstructor(boolean needExplicitConstructorCall, boolean needToInsert) | public MethodBinding | createDefaultConstructorWithBinding(MethodBinding inheritedConstructorBinding) | public FieldDeclaration | declarationOf(FieldBinding fieldBinding) | public TypeDeclaration | declarationOf(MemberTypeBinding memberTypeBinding) | public AbstractMethodDeclaration | declarationOf(MethodBinding methodBinding) | public TypeDeclaration | declarationOfType(char[][] typeName) Finds the matching type amoung this type's member types.
Returns null if no type with this name is found.
The type name is a compound name relative to this type
eg. | public void | generateCode(ClassFile enclosingClassFile) | public void | generateCode(BlockScope blockScope, CodeStream codeStream) | public void | generateCode(ClassScope classScope, ClassFile enclosingClassFile) | public void | generateCode(CompilationUnitScope unitScope) | public boolean | hasErrors() | public boolean | isSecondary() Returns whether the type is a secondary one or not. | final public static int | kind(int flags) | public void | manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) | public void | manageEnclosingInstanceAccessIfNecessary(ClassScope currentScope, FlowInfo flowInfo) Access emulation for a local member type
force to emulation of access to direct enclosing instance.
By using the initializer scope, we actually only request an argument emulation, the
field is not added until actually used. | final public boolean | needClassInitMethod() A will be requested as soon as static fields or assertions are present. | public void | parseMethod(Parser parser, CompilationUnitDeclaration unit) | public StringBuffer | print(int indent, StringBuffer output) | public StringBuffer | printBody(int indent, StringBuffer output) | public StringBuffer | printHeader(int indent, StringBuffer output) | public StringBuffer | printStatement(int tab, StringBuffer output) | public void | resolve() | public void | resolve(BlockScope blockScope) | public void | resolve(ClassScope upperScope) | public void | resolve(CompilationUnitScope upperScope) | public void | tagAsHavingErrors() | public void | traverse(ASTVisitor visitor, CompilationUnitScope unitScope) | public void | traverse(ASTVisitor visitor, BlockScope blockScope) | public void | traverse(ASTVisitor visitor, ClassScope classScope) | void | updateMaxFieldCount() MaxFieldCount's computation is necessary so as to reserve space for
the flow info field portions. |
ANNOTATION_TYPE_DECL | final public static int ANNOTATION_TYPE_DECL(Code) | | |
CLASS_DECL | final public static int CLASS_DECL(Code) | | |
ENUM_DECL | final public static int ENUM_DECL(Code) | | |
INTERFACE_DECL | final public static int INTERFACE_DECL(Code) | | |
bodyEnd | public int bodyEnd(Code) | | |
bodyStart | public int bodyStart(Code) | | |
declarationSourceEnd | public int declarationSourceEnd(Code) | | |
declarationSourceStart | public int declarationSourceStart(Code) | | |
ignoreFurtherInvestigation | public boolean ignoreFurtherInvestigation(Code) | | |
maxFieldCount | public int maxFieldCount(Code) | | |
modifiers | public int modifiers(Code) | | |
modifiersSourceStart | public int modifiersSourceStart(Code) | | |
addClinit | final public void addClinit()(Code) | | This method is responsible for adding a method declaration to the type method collections.
Note that this implementation is inserting it in first place (as VAJ or javac), and that this
impacts the behavior of the method ConstantPool.resetForClinit(int. int), in so far as
the latter will have to reset the constant pool state accordingly (if it was added first, it does
not need to preserve some of the method specific cached entries since this will be the first method).
inserts the clinit method declaration in the first position.
See Also: org.eclipse.jdt.internal.compiler.codegen.ConstantPool.resetForClinit(intint) |
analyseCode | public void analyseCode(ClassScope enclosingClassScope)(Code) | | Flow analysis for a member innertype
|
checkConstructors | public boolean checkConstructors(Parser parser)(Code) | | Check for constructor vs. method with no return type.
Answers true if at least one constructor is defined
|
createDefaultConstructor | public ConstructorDeclaration createDefaultConstructor(boolean needExplicitConstructorCall, boolean needToInsert)(Code) | | |
declarationOfType | public TypeDeclaration declarationOfType(char[][] typeName)(Code) | | Finds the matching type amoung this type's member types.
Returns null if no type with this name is found.
The type name is a compound name relative to this type
eg. if this type is X and we're looking for Y.X.A.B
then a type name would be {X, A, B}
|
generateCode | public void generateCode(ClassFile enclosingClassFile)(Code) | | Generic bytecode generation for type
|
generateCode | public void generateCode(BlockScope blockScope, CodeStream codeStream)(Code) | | Bytecode generation for a local inner type (API as a normal statement code gen)
|
generateCode | public void generateCode(ClassScope classScope, ClassFile enclosingClassFile)(Code) | | Bytecode generation for a member inner type
|
hasErrors | public boolean hasErrors()(Code) | | |
isSecondary | public boolean isSecondary()(Code) | | Returns whether the type is a secondary one or not.
|
kind | final public static int kind(int flags)(Code) | | |
manageEnclosingInstanceAccessIfNecessary | public void manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)(Code) | | |
manageEnclosingInstanceAccessIfNecessary | public void manageEnclosingInstanceAccessIfNecessary(ClassScope currentScope, FlowInfo flowInfo)(Code) | | Access emulation for a local member type
force to emulation of access to direct enclosing instance.
By using the initializer scope, we actually only request an argument emulation, the
field is not added until actually used. However we will force allocations to be qualified
with an enclosing instance.
Local member cannot be static.
|
needClassInitMethod | final public boolean needClassInitMethod()(Code) | | A will be requested as soon as static fields or assertions are present. It will be eliminated during
classfile creation if no bytecode was actually produced based on some optimizations/compiler settings.
|
resolve | public void resolve()(Code) | | |
resolve | public void resolve(BlockScope blockScope)(Code) | | Resolve a local type declaration
|
resolve | public void resolve(ClassScope upperScope)(Code) | | Resolve a member type declaration (can be a local member)
|
tagAsHavingErrors | public void tagAsHavingErrors()(Code) | | |
updateMaxFieldCount | void updateMaxFieldCount()(Code) | | MaxFieldCount's computation is necessary so as to reserve space for
the flow info field portions. It corresponds to the maximum amount of
fields this class or one of its innertypes have.
During name resolution, types are traversed, and the max field count is recorded
on the outermost type. It is then propagated down during the flow analysis.
This method is doing either up/down propagation.
|
Methods inherited from org.eclipse.jdt.internal.compiler.ast.Statement | abstract public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)(Code)(Java Doc) public void branchChainTo(BranchLabel label)(Code)(Java Doc) public boolean complainIfUnreachable(FlowInfo flowInfo, BlockScope scope, boolean didAlreadyComplain)(Code)(Java Doc) public void generateArguments(MethodBinding binding, Expression[] arguments, BlockScope currentScope, CodeStream codeStream)(Code)(Java Doc) abstract public void generateCode(BlockScope currentScope, CodeStream codeStream)(Code)(Java Doc) public boolean isEmptyBlock()(Code)(Java Doc) public boolean isValidJavaStatement()(Code)(Java Doc) public StringBuffer print(int indent, StringBuffer output)(Code)(Java Doc) abstract public StringBuffer printStatement(int indent, StringBuffer output)(Code)(Java Doc) abstract public void resolve(BlockScope scope)(Code)(Java Doc) public Constant resolveCase(BlockScope scope, TypeBinding testType, SwitchStatement switchStatement)(Code)(Java Doc)
|
Methods inherited from org.eclipse.jdt.internal.compiler.ast.ASTNode | public static void checkInvocationArguments(BlockScope scope, Expression receiver, TypeBinding receiverType, MethodBinding method, Expression[] arguments, TypeBinding[] argumentTypes, boolean argsContainCast, InvocationSite invocationSite)(Code)(Java Doc) public ASTNode concreteStatement()(Code)(Java Doc) final public boolean isFieldUseDeprecated(FieldBinding field, Scope scope, boolean isStrictlyAssigned)(Code)(Java Doc) public boolean isImplicitThis()(Code)(Java Doc) final public boolean isMethodUseDeprecated(MethodBinding method, Scope scope, boolean isExplicitUse)(Code)(Java Doc) public boolean isSuper()(Code)(Java Doc) public boolean isThis()(Code)(Java Doc) final public boolean isTypeUseDeprecated(TypeBinding type, Scope scope)(Code)(Java Doc) abstract public StringBuffer print(int indent, StringBuffer output)(Code)(Java Doc) public static StringBuffer printAnnotations(Annotation[] annotations, StringBuffer output)(Code)(Java Doc) public static StringBuffer printIndent(int indent, StringBuffer output)(Code)(Java Doc) public static StringBuffer printModifiers(int modifiers, StringBuffer output)(Code)(Java Doc) public static void resolveAnnotations(BlockScope scope, Annotation[] annotations, Binding recipient)(Code)(Java Doc) public static void resolveDeprecatedAnnotations(BlockScope scope, Annotation[] annotations, Binding recipient)(Code)(Java Doc) public int sourceEnd()(Code)(Java Doc) public int sourceStart()(Code)(Java Doc) public String toString()(Code)(Java Doc) public void traverse(ASTVisitor visitor, BlockScope scope)(Code)(Java Doc)
|
|
|