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

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.Reference
                  继承者 org.eclipse.jdt.internal.compiler.ast.NameReference
                      继承者 org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference
所有已实现的接口:
InvocationSite, TypeConstants, TypeIds

public class QualifiedNameReference
extends NameReference


字段摘要
 TypeBinding genericCast
           
 int indexOfFirstFieldBinding
           
 FieldBinding[] otherBindings
           
 TypeBinding[] otherGenericCasts
           
 long[] sourcePositions
           
 SyntheticMethodBinding[] syntheticReadAccessors
           
 SyntheticMethodBinding syntheticWriteAccessor
           
 char[][] tokens
           
 
从类 org.eclipse.jdt.internal.compiler.ast.NameReference 继承的字段
actualReceiverType, binding
 
从类 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
 
构造方法摘要
QualifiedNameReference(char[][] tokens, long[] positions, int sourceStart, int sourceEnd)
           
 
方法摘要
 FlowInfo analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
 FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
          More sophisticated for of the flow analysis used for analyzing expressions, and be able to optimize out portions of expressions where no actual value is required.
 void checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, boolean checkString)
           
 void computeConversion(Scope scope, TypeBinding runtimeTimeType, TypeBinding compileTimeType)
          Base types need that the widening is explicitly done by the compiler using some bytecode like i2f.
 void generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired)
           
 void generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Every expression is responsible for generating its implicit conversion when necessary.
 void generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired)
           
 void generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired)
           
 FieldBinding generateReadSequence(BlockScope currentScope, CodeStream codeStream)
           
 void generateReceiver(CodeStream codeStream)
           
 TypeBinding[] genericTypeArguments()
           
protected  FieldBinding getCodegenBinding(int index)
           
protected  TypeBinding getFinalReceiverType()
          Returns the receiver type for the final field in sequence (i.e. the return type of the previous binding)
protected  TypeBinding getGenericCast(int index)
           
 TypeBinding getOtherFieldBindings(BlockScope scope)
           
 void manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void manageSyntheticAccessIfNecessary(BlockScope currentScope, FieldBinding fieldBinding, int index, FlowInfo flowInfo)
          index is <0 to denote write access emulation
 int nullStatus(FlowInfo flowInfo)
           
 Constant optimizedBooleanConstant()
          Constant usable for bytecode pattern optimizations, but cannot be inlined since it is not strictly equivalent to the definition of constant expressions.
 TypeBinding postConversionType(Scope scope)
          Returns the type of the expression after required implicit conversions.
 StringBuffer printExpression(int indent, StringBuffer output)
           
 TypeBinding reportError(BlockScope scope)
          Normal field binding did not work, try to bind to a field of the delegate receiver.
 TypeBinding resolveType(BlockScope scope)
          Resolve the type of this expression in the context of a blockScope
 void setFieldIndex(int index)
           
protected  void setGenericCast(int index, TypeBinding someGenericCast)
           
protected  void setSyntheticAccessor(FieldBinding fieldBinding, int index, SyntheticMethodBinding syntheticAccessor)
           
 void traverse(ASTVisitor visitor, BlockScope scope)
          Traverse an expression in the context of a blockScope
 void traverse(ASTVisitor visitor, ClassScope scope)
          Traverse an expression in the context of a classScope
 String unboundReferenceErrorName()
           
 
从类 org.eclipse.jdt.internal.compiler.ast.NameReference 继承的方法
fieldBinding, isSuperAccess, isTypeAccess, isTypeReference, setActualReceiverType, setDepth
 
从类 org.eclipse.jdt.internal.compiler.ast.Reference 继承的方法
fieldStore
 
从类 org.eclipse.jdt.internal.compiler.ast.Expression 继承的方法
checkCastTypesCompatibility, checkNPE, checkUnsafeCast, forcedToBeRaw, generateCode, generateOptimizedBoolean, generateOptimizedStringConcatenation, generateOptimizedStringConcatenationCreation, getDirectBinding, isCompactableOperation, isConstantValueOfTypeAssignableToType, isConstantValueRepresentable, localVariableBinding, markAsNonNull, print, printStatement, resolve, resolveType, resolveTypeExpecting, reusableJSRTarget, setExpectedType, tagAsNeedCheckCast, tagAsUnnecessaryCast, toTypeReference
 
从类 org.eclipse.jdt.internal.compiler.ast.Statement 继承的方法
branchChainTo, checkAgainstNullAnnotation, complainIfUnreachable, expectedType, 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 继承的方法
expectedType, sourceEnd, sourceStart
 

字段详细信息

tokens

public char[][] tokens

sourcePositions

public long[] sourcePositions

otherBindings

public FieldBinding[] otherBindings

indexOfFirstFieldBinding

public int indexOfFirstFieldBinding

syntheticWriteAccessor

public SyntheticMethodBinding syntheticWriteAccessor

syntheticReadAccessors

public SyntheticMethodBinding[] syntheticReadAccessors

genericCast

public TypeBinding genericCast

otherGenericCasts

public TypeBinding[] otherGenericCasts
构造方法详细信息

QualifiedNameReference

public QualifiedNameReference(char[][] tokens,
                              long[] positions,
                              int sourceStart,
                              int sourceEnd)
方法详细信息

analyseAssignment

public FlowInfo analyseAssignment(BlockScope currentScope,
                                  FlowContext flowContext,
                                  FlowInfo flowInfo,
                                  Assignment assignment,
                                  boolean isCompound)
指定者:
Reference 中的 analyseAssignment

analyseCode

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

analyseCode

public FlowInfo analyseCode(BlockScope currentScope,
                            FlowContext flowContext,
                            FlowInfo flowInfo,
                            boolean valueRequired)
从类 Expression 复制的描述
More sophisticated for of the flow analysis used for analyzing expressions, and be able to optimize out portions of expressions where no actual value is required.

覆盖:
Expression 中的 analyseCode
返回:
The state of initialization after the analysis of the current expression

checkNPE

public void checkNPE(BlockScope scope,
                     FlowContext flowContext,
                     FlowInfo flowInfo,
                     boolean checkString)

computeConversion

public void computeConversion(Scope scope,
                              TypeBinding runtimeTimeType,
                              TypeBinding compileTimeType)
从类 Expression 复制的描述
Base types need that the widening is explicitly done by the compiler using some bytecode like i2f. Also check unsafe type operations.

覆盖:
Expression 中的 computeConversion
另请参见:
Expression.computeConversion(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding)

generateAssignment

public void generateAssignment(BlockScope currentScope,
                               CodeStream codeStream,
                               Assignment assignment,
                               boolean valueRequired)
指定者:
Reference 中的 generateAssignment

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

generateCompoundAssignment

public void generateCompoundAssignment(BlockScope currentScope,
                                       CodeStream codeStream,
                                       Expression expression,
                                       int operator,
                                       int assignmentImplicitConversion,
                                       boolean valueRequired)
指定者:
Reference 中的 generateCompoundAssignment

generatePostIncrement

public void generatePostIncrement(BlockScope currentScope,
                                  CodeStream codeStream,
                                  CompoundAssignment postIncrement,
                                  boolean valueRequired)
指定者:
Reference 中的 generatePostIncrement

generateReadSequence

public FieldBinding generateReadSequence(BlockScope currentScope,
                                         CodeStream codeStream)

generateReceiver

public void generateReceiver(CodeStream codeStream)

genericTypeArguments

public TypeBinding[] genericTypeArguments()
另请参见:
InvocationSite.genericTypeArguments()

getCodegenBinding

protected FieldBinding getCodegenBinding(int index)

getFinalReceiverType

protected TypeBinding getFinalReceiverType()
Returns the receiver type for the final field in sequence (i.e. the return type of the previous binding)

返回:
receiver type for the final field in sequence

getGenericCast

protected TypeBinding getGenericCast(int index)

getOtherFieldBindings

public TypeBinding getOtherFieldBindings(BlockScope scope)

manageEnclosingInstanceAccessIfNecessary

public void manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope,
                                                     FlowInfo flowInfo)

manageSyntheticAccessIfNecessary

public void manageSyntheticAccessIfNecessary(BlockScope currentScope,
                                             FieldBinding fieldBinding,
                                             int index,
                                             FlowInfo flowInfo)
index is <0 to denote write access emulation


nullStatus

public int nullStatus(FlowInfo flowInfo)
覆盖:
Expression 中的 nullStatus

optimizedBooleanConstant

public Constant optimizedBooleanConstant()
从类 Expression 复制的描述
Constant usable for bytecode pattern optimizations, but cannot be inlined since it is not strictly equivalent to the definition of constant expressions. In particular, some side-effects may be required to occur (only the end value is known).

覆盖:
Expression 中的 optimizedBooleanConstant
返回:
Constant known to be of boolean type

postConversionType

public TypeBinding postConversionType(Scope scope)
从类 Expression 复制的描述
Returns the type of the expression after required implicit conversions. When expression type gets promoted or inserted a generic cast, the converted type will differ from the resolved type (surface side-effects from #computeConversion(...)).

覆盖:
Expression 中的 postConversionType
返回:
the type after implicit conversion
另请参见:
Expression.postConversionType(Scope)

printExpression

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

reportError

public TypeBinding reportError(BlockScope scope)
Normal field binding did not work, try to bind to a field of the delegate receiver.


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

setFieldIndex

public void setFieldIndex(int index)
指定者:
接口 InvocationSite 中的 setFieldIndex
覆盖:
NameReference 中的 setFieldIndex

setGenericCast

protected void setGenericCast(int index,
                              TypeBinding someGenericCast)

setSyntheticAccessor

protected void setSyntheticAccessor(FieldBinding fieldBinding,
                                    int index,
                                    SyntheticMethodBinding syntheticAccessor)

traverse

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

覆盖:
Expression 中的 traverse

traverse

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

覆盖:
Expression 中的 traverse

unboundReferenceErrorName

public String unboundReferenceErrorName()
指定者:
NameReference 中的 unboundReferenceErrorName


Copyright © 2013. All Rights Reserved.