org.eclipse.jdt.internal.compiler.ast
类 ConstructorDeclaration

java.lang.Object
  继承者 org.eclipse.jdt.internal.compiler.ast.ASTNode
      继承者 org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
          继承者 org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration
所有已实现的接口:
ReferenceContext, TypeConstants, TypeIds, ProblemSeverities

public class ConstructorDeclaration
extends AbstractMethodDeclaration


字段摘要
 ExplicitConstructorCall constructorCall
           
 TypeParameter[] typeParameters
           
 
从类 org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration 继承的字段
annotations, arguments, binding, bodyEnd, bodyStart, compilationResult, declarationSourceEnd, declarationSourceStart, explicitDeclarations, ignoreFurtherInvestigation, javadoc, modifiers, modifiersSourceStart, scope, selector, statements, thrownExceptions
 
从类 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, CanBeStatic, ContainsAssertion, DepthMASK, DepthSHIFT, DidResolve, DisableUnnecessaryCastCheck, DiscardEnclosingInstance, DocumentedFallthrough, Empty, ErrorInSignature, FirstAssignmentToLocal, GenerateCheckcast, HasAbstractMethods, HasAllMethodBodies, HasBeenGenerated, HasBeenResolved, HasLocalType, HasSyntaxErrors, IgnoreNoEffectAssignCheck, IgnoreRawTypeCheck, InsideExpressionStatement, InsideJavadoc, INVOCATION_ARGUMENT_OK, INVOCATION_ARGUMENT_UNCHECKED, INVOCATION_ARGUMENT_WILDCARD, IsAnnotationDefaultValue, IsAnonymousType, IsAnySubRoutineEscaping, IsArgument, IsCompoundAssigned, IsDefaultConstructor, IsDiamond, IsElseIfStatement, IsElseStatementUnreachable, IsImplicitThis, IsImplicitUnit, IsLocalDeclarationReachable, IsLocalType, IsMemberType, IsNonNull, IsReachable, IsRecovered, IsReturnedValue, IsSecondaryType, IsStrictlyAssigned, IsSubRoutineEscaping, IsSuperType, IsSynchronized, IsThenStatementUnreachable, IsTryBlockExiting, IsUnionType, IsUsefulEmptyStatement, IsVarArgs, LabelUsed, NeededScope, NeedFreeReturn, NeedReceiverGenericCast, OnDemand, OperatorMASK, OperatorSHIFT, OverridingMethodWithSupercall, ParenthesizedMASK, ParenthesizedSHIFT, ResolveJavadoc, RestrictiveFlagMASK, ReturnTypeIDMASK, sourceEnd, sourceStart, SuperAccess, ThenExit, Unchecked, UndocumentedEmptyBlock, UnnecessaryCast, UnsafeCast, Used
 
从接口 org.eclipse.jdt.internal.compiler.problem.ProblemSeverities 继承的字段
Abort, AbortCompilation, AbortCompilationUnit, AbortMethod, AbortType, Error, Fatal, Ignore, Optional, SecondaryError, Warning
 
从接口 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, EQUALS, FLOAT, GETCLASS, HASHCODE, INIT, INT, INVOKE, 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_AUTOCLOSEABLE, 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_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE, JAVA_LANG_INVOKE_METHODHANDLE_POLYMORPHICSIGNATURE, 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_SAFEVARARGS, 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_COLLECTION, JAVA_UTIL_ITERATOR, JAVAX_RMI_CORBA_STUB, 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_CONSTANT_INITIALIZATION_METHOD_PREFIX, SYNTHETIC_ENUM_VALUES, SYNTHETIC_OUTER_LOCAL_PREFIX, SYNTHETIC_STATIC_FACTORY, 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
 
从接口 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, Null2Null, Null2String, Object2boolean, Object2byte, Object2char, Object2double, Object2float, Object2int, Object2long, Object2Object, Object2short, 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_JavaLangAutoCloseable, 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_JavaLangInvokeMethodHandlePolymorphicSignature, T_JavaLangIterable, T_JavaLangLong, T_JavaLangNoClassDefError, T_JavaLangObject, T_JavaLangOverride, T_JavaLangReflectConstructor, T_JavaLangReflectField, T_JavaLangReflectMethod, T_JavaLangRuntimeException, T_JavaLangSafeVarargs, T_JavaLangShort, T_JavaLangString, T_JavaLangStringBuffer, T_JavaLangStringBuilder, T_JavaLangSuppressWarnings, T_JavaLangSystem, T_JavaLangThrowable, T_JavaLangVoid, T_JavaUtilCollection, T_JavaUtilIterator, T_long, T_null, T_short, T_undefined, T_void, UNBOXING
 
构造方法摘要
ConstructorDeclaration(CompilationResult compilationResult)
           
 
方法摘要
 void analyseCode(ClassScope classScope, InitializationFlowContext initializerFlowContext, FlowInfo flowInfo)
          已过时。 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(ArrayList visited)
           
 void parseStatements(Parser parser, CompilationUnitDeclaration unit)
          Fill up the method body with statement
 StringBuffer printBody(int indent, StringBuffer output)
           
 void resolveJavadoc()
           
 void resolveStatements()
           
 void traverse(ASTVisitor visitor, ClassScope classScope)
           
 TypeParameter[] typeParameters()
           
 
从类 org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration 继承的方法
abort, bindArguments, bindThrownExceptions, compilationResult, generateCode, hasErrors, isAbstract, isAnnotationMethod, isClinit, isMethod, isNative, isStatic, print, printReturnType, resolve, tagAsHavingErrors
 
从类 org.eclipse.jdt.internal.compiler.ast.ASTNode 继承的方法
checkInvocationArguments, concreteStatement, isFieldUseDeprecated, isImplicitThis, isMethodUseDeprecated, isSuper, isThis, isTypeUseDeprecated, printAnnotations, printIndent, printModifiers, resolveAnnotations, resolveDeprecatedAnnotations, sourceEnd, sourceStart, toString, traverse
 
从类 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)
已过时。 use instead analyseCode(ClassScope, InitializationFlowContext, FlowInfo, int)

指定者:
AbstractMethodDeclaration 中的 analyseCode
另请参见:
AbstractMethodDeclaration.analyseCode(org.eclipse.jdt.internal.compiler.lookup.ClassScope, org.eclipse.jdt.internal.compiler.flow.InitializationFlowContext, 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

覆盖:
AbstractMethodDeclaration 中的 generateCode
参数:
classScope - org.eclipse.jdt.internal.compiler.lookup.ClassScope
classFile - org.eclipse.jdt.internal.compiler.codegen.ClassFile

generateSyntheticFieldInitializationsIfNecessary

public void generateSyntheticFieldInitializationsIfNecessary(MethodScope methodScope,
                                                             CodeStream codeStream,
                                                             ReferenceBinding declaringClass)

isConstructor

public boolean isConstructor()
覆盖:
AbstractMethodDeclaration 中的 isConstructor

isDefaultConstructor

public boolean isDefaultConstructor()
覆盖:
AbstractMethodDeclaration 中的 isDefaultConstructor

isInitializationMethod

public boolean isInitializationMethod()
覆盖:
AbstractMethodDeclaration 中的 isInitializationMethod

isRecursive

public boolean isRecursive(ArrayList visited)

parseStatements

public void parseStatements(Parser parser,
                            CompilationUnitDeclaration unit)
从类 AbstractMethodDeclaration 复制的描述
Fill up the method body with statement

指定者:
AbstractMethodDeclaration 中的 parseStatements

printBody

public StringBuffer printBody(int indent,
                              StringBuffer output)
覆盖:
AbstractMethodDeclaration 中的 printBody

resolveJavadoc

public void resolveJavadoc()
覆盖:
AbstractMethodDeclaration 中的 resolveJavadoc

resolveStatements

public void resolveStatements()
覆盖:
AbstractMethodDeclaration 中的 resolveStatements

traverse

public void traverse(ASTVisitor visitor,
                     ClassScope classScope)
覆盖:
AbstractMethodDeclaration 中的 traverse

typeParameters

public TypeParameter[] typeParameters()
覆盖:
AbstractMethodDeclaration 中的 typeParameters


Copyright © 2013. All Rights Reserved.