org.aspectj.org.eclipse.jdt.internal.compiler.ast
Class ConstructorDeclaration
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode
org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
org.aspectj.org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration
- All Implemented Interfaces:
- ReferenceContext, TypeConstants, TypeIds, ProblemSeverities
- Direct Known Subclasses:
- AjConstructorDeclaration
public class ConstructorDeclaration
- extends AbstractMethodDeclaration
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration |
annotations, arguments, binding, bodyEnd, bodyStart, compilationResult, declarationSourceEnd, declarationSourceStart, explicitDeclarations, ignoreFurtherInvestigation, javadoc, modifiers, modifiersSourceStart, scope, selector, statements, thrownExceptions |
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode |
Bit1, Bit10, Bit11, Bit12, Bit13, Bit14, Bit15, Bit16, Bit17, Bit18, Bit19, Bit2, Bit20, Bit21, Bit22, Bit23, Bit24, Bit25, Bit26, Bit27, Bit28, Bit29, Bit3, Bit30, Bit31, Bit32, Bit32L, Bit33L, Bit34L, Bit35L, Bit36L, Bit37L, Bit38L, Bit39L, Bit4, Bit40L, Bit41L, Bit42L, Bit43L, Bit44L, Bit45L, Bit46L, Bit47L, Bit48L, Bit49L, Bit5, Bit50L, Bit51L, Bit52L, Bit53L, Bit54L, Bit55L, Bit56L, Bit57L, Bit58L, Bit59L, Bit6, Bit60L, Bit61L, Bit62L, Bit63L, Bit64L, Bit7, Bit8, Bit9, bits, BlockExit, ContainsAssertion, DepthMASK, DepthSHIFT, DidResolve, DisableUnnecessaryCastCheck, DiscardEnclosingInstance, DocumentedFallthrough, Empty, ErrorInSignature, FirstAssignmentToLocal, GenerateCheckcast, HasAbstractMethods, HasAllMethodBodies, HasBeenGenerated, HasBeenResolved, HasLocalType, IgnoreNoEffectAssignCheck, IgnoreRawTypeCheck, InsideJavadoc, INVOCATION_ARGUMENT_OK, INVOCATION_ARGUMENT_UNCHECKED, INVOCATION_ARGUMENT_WILDCARD, IsAnnotationDefaultValue, IsAnonymousType, IsAnySubRoutineEscaping, IsCompoundAssigned, IsDefaultConstructor, IsElseIfStatement, IsImplicitThis, IsImplicitUnit, IsLocalDeclarationReachable, IsLocalType, IsMemberType, IsNonNull, IsReachable, IsReturnedValue, IsSecondaryType, IsStrictlyAssigned, IsSubRoutineEscaping, IsSuperType, IsSynchronized, IsTryBlockExiting, IsUsefulEmptyStatement, IsVarArgs, LabelUsed, NeededScope, NeedFreeReturn, OnDemand, OperatorMASK, OperatorSHIFT, OverridingMethodWithSupercall, ParenthesizedMASK, ParenthesizedSHIFT, RestrictiveFlagMASK, ReturnTypeIDMASK, sourceEnd, sourceStart, SuperAccess, ThenExit, UndocumentedEmptyBlock, UnnecessaryCast, UnsafeCast, Used |
| Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemSeverities |
Abort, AbortCompilation, AbortCompilationUnit, AbortMethod, AbortType, Error, Fatal, Ignore, Optional, SecondaryError, Warning |
| Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeConstants |
ANNOTATION, ANNOTATION_PREFIX, ANNOTATION_SUFFIX, ANONYM_PREFIX, ANONYM_SUFFIX, BOOLEAN, BYTE, CHAR, CharArray_JAVA_IO_OBJECTINPUTSTREAM, CharArray_JAVA_IO_OBJECTOUTPUTSTREAM, CharArray_JAVA_IO_OBJECTSTREAMFIELD, CharArray_JAVA_LANG_ANNOTATION_ANNOTATION, CharArray_JAVA_LANG_ENUM, CharArray_JAVA_LANG_OBJECT, CLINIT, CLONE, CONSTRAINT_EQUAL, CONSTRAINT_EXTENDS, CONSTRAINT_SUPER, DOUBLE, FLOAT, GETCLASS, INIT, INT, IO, JAVA, JAVA_IO, JAVA_IO_EXTERNALIZABLE, JAVA_IO_IOEXCEPTION, JAVA_IO_OBJECTINPUTSTREAM, JAVA_IO_OBJECTOUTPUTSTREAM, JAVA_IO_OBJECTSTREAMEXCEPTION, JAVA_IO_PRINTSTREAM, JAVA_IO_SERIALIZABLE, JAVA_LANG, JAVA_LANG_ANNOTATION_ANNOTATION, JAVA_LANG_ANNOTATION_DOCUMENTED, JAVA_LANG_ANNOTATION_ELEMENTTYPE, JAVA_LANG_ANNOTATION_INHERITED, JAVA_LANG_ANNOTATION_RETENTION, JAVA_LANG_ANNOTATION_RETENTIONPOLICY, JAVA_LANG_ANNOTATION_TARGET, JAVA_LANG_ASSERTIONERROR, JAVA_LANG_BOOLEAN, JAVA_LANG_BYTE, JAVA_LANG_CHARACTER, JAVA_LANG_CLASS, JAVA_LANG_CLASSNOTFOUNDEXCEPTION, JAVA_LANG_CLONEABLE, JAVA_LANG_DEPRECATED, JAVA_LANG_DOUBLE, JAVA_LANG_ENUM, JAVA_LANG_ERROR, JAVA_LANG_EXCEPTION, JAVA_LANG_FLOAT, JAVA_LANG_ILLEGALARGUMENTEXCEPTION, JAVA_LANG_INTEGER, JAVA_LANG_ITERABLE, JAVA_LANG_LONG, JAVA_LANG_NOCLASSDEFERROR, JAVA_LANG_OBJECT, JAVA_LANG_OVERRIDE, JAVA_LANG_REFLECT_CONSTRUCTOR, JAVA_LANG_REFLECT_FIELD, JAVA_LANG_REFLECT_METHOD, JAVA_LANG_RUNTIMEEXCEPTION, JAVA_LANG_SHORT, JAVA_LANG_STRING, JAVA_LANG_STRINGBUFFER, JAVA_LANG_STRINGBUILDER, JAVA_LANG_SUPPRESSWARNINGS, JAVA_LANG_SYSTEM, JAVA_LANG_THROWABLE, JAVA_LANG_VOID, JAVA_UTIL_ITERATOR, LANG, LENGTH, LONG, MAIN, MISMATCH, NULL, OBJECT, OK, PACKAGE_INFO_NAME, READOBJECT, READRESOLVE, REFLECT, SERIALPERSISTENTFIELDS, SERIALVERSIONUID, SHORT, SYNTHETIC_ACCESS_METHOD_PREFIX, SYNTHETIC_ASSERT_DISABLED, SYNTHETIC_CLASS, SYNTHETIC_ENCLOSING_INSTANCE_PREFIX, SYNTHETIC_ENUM_VALUES, SYNTHETIC_OUTER_LOCAL_PREFIX, SYNTHETIC_SWITCH_ENUM_TABLE, TYPE, UNCHECKED, UPPER_ANNOTATION_TYPE, UPPER_CLASS, UPPER_CONSTRUCTOR, UPPER_FIELD, UPPER_LOCAL_VARIABLE, UPPER_METHOD, UPPER_PACKAGE, UPPER_PARAMETER, UPPER_RUNTIME, UPPER_SOURCE, UTIL, VALUE, VALUEOF, VALUES, VOID, WILDCARD_CAPTURE, WILDCARD_CAPTURE_NAME_PREFIX, WILDCARD_CAPTURE_NAME_SUFFIX, WILDCARD_EXTENDS, WILDCARD_MINUS, WILDCARD_NAME, WILDCARD_PLUS, WILDCARD_STAR, WILDCARD_SUPER, WRITEOBJECT, WRITEREPLACE |
| Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeIds |
Boolean2Boolean, Boolean2Int, Boolean2String, BOXING, Byte2Byte, Byte2Char, Byte2Double, Byte2Float, Byte2Int, Byte2Long, Byte2Short, Byte2String, Char2Byte, Char2Char, Char2Double, Char2Float, Char2Int, Char2Long, Char2Short, Char2String, COMPILE_TYPE_MASK, Double2Byte, Double2Char, Double2Double, Double2Float, Double2Int, Double2Long, Double2Short, Double2String, Float2Byte, Float2Char, Float2Double, Float2Float, Float2Int, Float2Long, Float2Short, Float2String, IMPLICIT_CONVERSION_MASK, Int2Byte, Int2Char, Int2Double, Int2Float, Int2Int, Int2Long, Int2Short, Int2String, Long2Byte, Long2Char, Long2Double, Long2Float, Long2Int, Long2Long, Long2Short, Long2String, NoId, Null2String, Object2Object, Object2String, Short2Byte, Short2Char, Short2Double, Short2Float, Short2Int, Short2Long, Short2Short, Short2String, String2String, T_boolean, T_byte, T_char, T_double, T_float, T_int, T_JavaIoException, T_JavaIoExternalizable, T_JavaIoObjectStreamException, T_JavaIoPrintStream, T_JavaIoSerializable, T_JavaLangAnnotationAnnotation, T_JavaLangAnnotationDocumented, T_JavaLangAnnotationElementType, T_JavaLangAnnotationInherited, T_JavaLangAnnotationRetention, T_JavaLangAnnotationRetentionPolicy, T_JavaLangAnnotationTarget, T_JavaLangAssertionError, T_JavaLangBoolean, T_JavaLangByte, T_JavaLangCharacter, T_JavaLangClass, T_JavaLangClassNotFoundException, T_JavaLangCloneable, T_JavaLangDeprecated, T_JavaLangDouble, T_JavaLangEnum, T_JavaLangError, T_JavaLangException, T_JavaLangFloat, T_JavaLangIllegalArgumentException, T_JavaLangInteger, T_JavaLangIterable, T_JavaLangLong, T_JavaLangNoClassDefError, T_JavaLangObject, T_JavaLangOverride, T_JavaLangReflectConstructor, T_JavaLangReflectField, T_JavaLangReflectMethod, T_JavaLangRuntimeException, T_JavaLangShort, T_JavaLangString, T_JavaLangStringBuffer, T_JavaLangStringBuilder, T_JavaLangSuppressWarnings, T_JavaLangSystem, T_JavaLangThrowable, T_JavaLangVoid, T_JavaUtilIterator, T_long, T_null, T_short, T_undefined, T_void, UNBOXING |
|
Method Summary |
void |
analyseCode(ClassScope classScope,
InitializationFlowContext initializerFlowContext,
FlowInfo flowInfo)
Deprecated. use instead analyseCode(ClassScope, InitializationFlowContext, FlowInfo, int) |
void |
analyseCode(ClassScope classScope,
InitializationFlowContext initializerFlowContext,
FlowInfo flowInfo,
int initialReachMode)
The flowInfo corresponds to non-static field initialization infos. |
void |
generateCode(ClassScope classScope,
ClassFile classFile)
Bytecode generation for a constructor |
void |
generateSyntheticFieldInitializationsIfNecessary(MethodScope methodScope,
CodeStream codeStream,
ReferenceBinding declaringClass)
|
boolean |
isConstructor()
|
boolean |
isDefaultConstructor()
|
boolean |
isInitializationMethod()
|
boolean |
isRecursive(java.util.ArrayList visited)
|
void |
parseStatements(Parser parser,
CompilationUnitDeclaration unit)
Fill up the method body with statement |
java.lang.StringBuffer |
printBody(int indent,
java.lang.StringBuffer output)
|
void |
resolveJavadoc()
|
void |
resolveStatements()
|
void |
traverse(ASTVisitor visitor,
ClassScope classScope)
|
TypeParameter[] |
typeParameters()
|
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration |
abort, bindArguments, bindThrownExceptions, compilationResult, ensureScopeSetup, finishResolveTypes, generateCode, generateInfoAttributes, hasErrors, isAbstract, isAnnotationMethod, isClinit, isMethod, isNative, isStatic, postParse, print, printReturnType, resolve, tagAsHavingErrors |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode |
checkInvocationArguments, concreteStatement, isFieldUseDeprecated, isImplicitThis, isMethodUseDeprecated, isSuper, isThis, isTypeUseDeprecated, printAnnotations, printIndent, printModifiers, resolveAnnotations, resolveDeprecatedAnnotations, sourceEnd, sourceStart, toString, traverse |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
constructorCall
public ExplicitConstructorCall constructorCall
typeParameters
public TypeParameter[] typeParameters
ConstructorDeclaration
public ConstructorDeclaration(CompilationResult compilationResult)
analyseCode
public void analyseCode(ClassScope classScope,
InitializationFlowContext initializerFlowContext,
FlowInfo flowInfo)
- Deprecated. use instead
analyseCode(ClassScope, InitializationFlowContext, FlowInfo, int)
- Specified by:
analyseCode in class AbstractMethodDeclaration
- See Also:
AbstractMethodDeclaration.analyseCode(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ClassScope, org.aspectj.org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext, org.aspectj.org.eclipse.jdt.internal.compiler.flow.FlowInfo)
analyseCode
public void analyseCode(ClassScope classScope,
InitializationFlowContext initializerFlowContext,
FlowInfo flowInfo,
int initialReachMode)
- The flowInfo corresponds to non-static field initialization infos. It may be unreachable (155423), but still the explicit constructor call must be
analysed as reachable, since it will be generated in the end.
generateCode
public void generateCode(ClassScope classScope,
ClassFile classFile)
- Bytecode generation for a constructor
- Overrides:
generateCode in class AbstractMethodDeclaration
- Parameters:
classScope - org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ClassScopeclassFile - org.aspectj.org.eclipse.jdt.internal.compiler.codegen.ClassFile
generateSyntheticFieldInitializationsIfNecessary
public void generateSyntheticFieldInitializationsIfNecessary(MethodScope methodScope,
CodeStream codeStream,
ReferenceBinding declaringClass)
isConstructor
public boolean isConstructor()
- Overrides:
isConstructor in class AbstractMethodDeclaration
isDefaultConstructor
public boolean isDefaultConstructor()
- Overrides:
isDefaultConstructor in class AbstractMethodDeclaration
isInitializationMethod
public boolean isInitializationMethod()
- Overrides:
isInitializationMethod in class AbstractMethodDeclaration
isRecursive
public boolean isRecursive(java.util.ArrayList visited)
parseStatements
public void parseStatements(Parser parser,
CompilationUnitDeclaration unit)
- Description copied from class:
AbstractMethodDeclaration
- Fill up the method body with statement
- Specified by:
parseStatements in class AbstractMethodDeclaration
printBody
public java.lang.StringBuffer printBody(int indent,
java.lang.StringBuffer output)
- Overrides:
printBody in class AbstractMethodDeclaration
resolveJavadoc
public void resolveJavadoc()
- Overrides:
resolveJavadoc in class AbstractMethodDeclaration
resolveStatements
public void resolveStatements()
- Overrides:
resolveStatements in class AbstractMethodDeclaration
traverse
public void traverse(ASTVisitor visitor,
ClassScope classScope)
- Overrides:
traverse in class AbstractMethodDeclaration
typeParameters
public TypeParameter[] typeParameters()
- Overrides:
typeParameters in class AbstractMethodDeclaration