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

java.lang.Object
  继承者 org.eclipse.jdt.internal.compiler.ast.ASTNode
      继承者 org.eclipse.jdt.internal.compiler.ast.Statement
          继承者 org.eclipse.jdt.internal.compiler.ast.Expression
              继承者 org.eclipse.jdt.internal.compiler.ast.AllocationExpression
所有已实现的接口:
InvocationSite, TypeConstants, TypeIds
直接已知子类:
JavadocAllocationExpression, QualifiedAllocationExpression

public class AllocationExpression
extends Expression
implements InvocationSite


字段摘要
 Expression[] arguments
           
 MethodBinding binding
           
 FieldDeclaration enumConstant
           
 TypeBinding[] genericTypeArguments
           
 boolean inferredReturnType
           
 TypeReference type
           
 TypeReference[] typeArguments
           
protected  TypeBinding typeExpected
           
 
从类 org.eclipse.jdt.internal.compiler.ast.Expression 继承的字段
constant, implicitConversion, resolvedType, statementEnd
 
从类 org.eclipse.jdt.internal.compiler.ast.Statement 继承的字段
COMPLAINED_FAKE_REACHABLE, COMPLAINED_UNREACHABLE, NOT_COMPLAINED
 
从类 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.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
 
构造方法摘要
AllocationExpression()
           
 
方法摘要
 FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 void checkCapturedLocalInitializationIfNecessary(ReferenceBinding checkedType, BlockScope currentScope, FlowInfo flowInfo)
           
 void checkTypeArgumentRedundancy(ParameterizedTypeBinding allocationType, ReferenceBinding enclosingType, TypeBinding[] argumentTypes, BlockScope scope)
           
 Expression enclosingInstance()
           
 TypeBinding expectedType()
          Implementation of InvocationSite.expectedType() suitable at this level.
 void generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Every expression is responsible for generating its implicit conversion when necessary.
 TypeBinding[] genericTypeArguments()
           
 TypeBinding[] inferElidedTypes(ReferenceBinding allocationType, ReferenceBinding enclosingType, TypeBinding[] argumentTypes, BlockScope scope)
           
 boolean isSuperAccess()
           
 boolean isTypeAccess()
           
 void manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 StringBuffer printExpression(int indent, StringBuffer output)
           
 TypeBinding resolveType(BlockScope scope)
          Resolve the type of this expression in the context of a blockScope
 void setActualReceiverType(ReferenceBinding receiverType)
           
 void setDepth(int i)
           
 void setExpectedType(TypeBinding expectedType)
          Record the type expectation before this expression is typechecked.
 void setFieldIndex(int i)
           
 void traverse(ASTVisitor visitor, BlockScope scope)
          Traverse an expression in the context of a blockScope
 
从类 org.eclipse.jdt.internal.compiler.ast.Expression 继承的方法
analyseCode, checkCastTypesCompatibility, checkNPE, checkUnsafeCast, computeConversion, forcedToBeRaw, generateCode, generateOptimizedBoolean, generateOptimizedStringConcatenation, generateOptimizedStringConcatenationCreation, getDirectBinding, isCompactableOperation, isConstantValueOfTypeAssignableToType, isConstantValueRepresentable, isTypeReference, localVariableBinding, markAsNonNull, nullStatus, optimizedBooleanConstant, postConversionType, print, printStatement, resolve, resolveType, resolveTypeExpecting, reusableJSRTarget, tagAsNeedCheckCast, tagAsUnnecessaryCast, toTypeReference, traverse
 
从类 org.eclipse.jdt.internal.compiler.ast.Statement 继承的方法
branchChainTo, checkAgainstNullAnnotation, complainIfUnreachable, generateArguments, isBoxingCompatible, isEmptyBlock, isKnowDeadCodePattern, isValidJavaStatement, resolveCase
 
从类 org.eclipse.jdt.internal.compiler.ast.ASTNode 继承的方法
checkInvocationArguments, concreteStatement, isFieldUseDeprecated, isImplicitThis, isMethodUseDeprecated, isSuper, isThis, isTypeUseDeprecated, printAnnotations, printIndent, printModifiers, resolveAnnotations, resolveDeprecatedAnnotations, sourceEnd, sourceStart, toString
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
从接口 org.eclipse.jdt.internal.compiler.lookup.InvocationSite 继承的方法
sourceEnd, sourceStart
 

字段详细信息

type

public TypeReference type

arguments

public Expression[] arguments

binding

public MethodBinding binding

typeArguments

public TypeReference[] typeArguments

genericTypeArguments

public TypeBinding[] genericTypeArguments

enumConstant

public FieldDeclaration enumConstant

typeExpected

protected TypeBinding typeExpected

inferredReturnType

public boolean inferredReturnType
构造方法详细信息

AllocationExpression

public AllocationExpression()
方法详细信息

analyseCode

public FlowInfo analyseCode(BlockScope currentScope,
                            FlowContext flowContext,
                            FlowInfo flowInfo)
覆盖:
Expression 中的 analyseCode

checkCapturedLocalInitializationIfNecessary

public void checkCapturedLocalInitializationIfNecessary(ReferenceBinding checkedType,
                                                        BlockScope currentScope,
                                                        FlowInfo flowInfo)

enclosingInstance

public Expression enclosingInstance()

generateCode

public void generateCode(BlockScope currentScope,
                         CodeStream codeStream,
                         boolean valueRequired)
从类 Expression 复制的描述
Every expression is responsible for generating its implicit conversion when necessary.

覆盖:
Expression 中的 generateCode
参数:
currentScope - org.eclipse.jdt.internal.compiler.lookup.BlockScope
codeStream - org.eclipse.jdt.internal.compiler.codegen.CodeStream
valueRequired - boolean

genericTypeArguments

public TypeBinding[] genericTypeArguments()
指定者:
接口 InvocationSite 中的 genericTypeArguments
另请参见:
InvocationSite.genericTypeArguments()

isSuperAccess

public boolean isSuperAccess()
指定者:
接口 InvocationSite 中的 isSuperAccess

isTypeAccess

public boolean isTypeAccess()
指定者:
接口 InvocationSite 中的 isTypeAccess

manageEnclosingInstanceAccessIfNecessary

public void manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope,
                                                     FlowInfo flowInfo)

manageSyntheticAccessIfNecessary

public void manageSyntheticAccessIfNecessary(BlockScope currentScope,
                                             FlowInfo flowInfo)

printExpression

public StringBuffer printExpression(int indent,
                                    StringBuffer output)
指定者:
Expression 中的 printExpression

resolveType

public TypeBinding resolveType(BlockScope scope)
从类 Expression 复制的描述
Resolve the type of this expression in the context of a blockScope

覆盖:
Expression 中的 resolveType
返回:
Return the actual type of this expression after resolution

inferElidedTypes

public TypeBinding[] inferElidedTypes(ReferenceBinding allocationType,
                                      ReferenceBinding enclosingType,
                                      TypeBinding[] argumentTypes,
                                      BlockScope scope)

checkTypeArgumentRedundancy

public void checkTypeArgumentRedundancy(ParameterizedTypeBinding allocationType,
                                        ReferenceBinding enclosingType,
                                        TypeBinding[] argumentTypes,
                                        BlockScope scope)

setActualReceiverType

public void setActualReceiverType(ReferenceBinding receiverType)
指定者:
接口 InvocationSite 中的 setActualReceiverType

setDepth

public void setDepth(int i)
指定者:
接口 InvocationSite 中的 setDepth

setFieldIndex

public void setFieldIndex(int i)
指定者:
接口 InvocationSite 中的 setFieldIndex

traverse

public void traverse(ASTVisitor visitor,
                     BlockScope scope)
从类 Expression 复制的描述
Traverse an expression in the context of a blockScope

覆盖:
Expression 中的 traverse

setExpectedType

public void setExpectedType(TypeBinding expectedType)
从类 Expression 复制的描述
Record the type expectation before this expression is typechecked. e.g. String s = foo();, foo() will be tagged as being expected of type String Used to trigger proper inference of generic method invocations.

覆盖:
Expression 中的 setExpectedType
参数:
expectedType - The type denoting an expectation in the context of an assignment conversion
另请参见:
Expression.setExpectedType(org.eclipse.jdt.internal.compiler.lookup.TypeBinding)

expectedType

public TypeBinding expectedType()
从类 Statement 复制的描述
Implementation of InvocationSite.expectedType() suitable at this level. Subclasses should override as necessary.

指定者:
接口 InvocationSite 中的 expectedType
覆盖:
Statement 中的 expectedType
另请参见:
InvocationSite.expectedType()


Copyright © 2013. All Rights Reserved.