|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.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
public class QualifiedNameReference
Field Summary | |
---|---|
TypeBinding |
genericCast
|
int |
indexOfFirstFieldBinding
|
FieldBinding[] |
otherBindings
|
TypeBinding[] |
otherGenericCasts
|
long[] |
sourcePositions
|
SyntheticMethodBinding[] |
syntheticReadAccessors
|
SyntheticMethodBinding |
syntheticWriteAccessor
|
char[][] |
tokens
|
Fields inherited from class org.eclipse.jdt.internal.compiler.ast.NameReference |
---|
actualReceiverType, binding |
Fields inherited from class org.eclipse.jdt.internal.compiler.ast.Expression |
---|
constant, implicitConversion, resolvedType, statementEnd |
Fields inherited from class org.eclipse.jdt.internal.compiler.ast.Statement |
---|
COMPLAINED_FAKE_REACHABLE, COMPLAINED_UNREACHABLE, NOT_COMPLAINED |
Constructor Summary | |
---|---|
QualifiedNameReference(char[][] tokens,
long[] positions,
int sourceStart,
int sourceEnd)
|
Method Summary | |
---|---|
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. |
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()
|
Methods inherited from class org.eclipse.jdt.internal.compiler.ast.NameReference |
---|
fieldBinding, isSuperAccess, isTypeAccess, isTypeReference, setActualReceiverType, setDepth |
Methods inherited from class org.eclipse.jdt.internal.compiler.ast.Reference |
---|
fieldStore |
Methods inherited from class org.eclipse.jdt.internal.compiler.ast.Statement |
---|
branchChainTo, checkAgainstNullAnnotation, complainIfUnreachable, expectedType, generateArguments, isBoxingCompatible, isEmptyBlock, isKnowDeadCodePattern, isValidJavaStatement, resolveCase |
Methods inherited from class org.eclipse.jdt.internal.compiler.ast.ASTNode |
---|
checkInvocationArguments, concreteStatement, isFieldUseDeprecated, isImplicitThis, isMethodUseDeprecated, isSuper, isThis, isTypeUseDeprecated, printAnnotations, printIndent, printModifiers, resolveAnnotations, resolveDeprecatedAnnotations, sourceEnd, sourceStart, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.jdt.internal.compiler.lookup.InvocationSite |
---|
expectedType, sourceEnd, sourceStart |
Field Detail |
---|
public char[][] tokens
public long[] sourcePositions
public FieldBinding[] otherBindings
public int indexOfFirstFieldBinding
public SyntheticMethodBinding syntheticWriteAccessor
public SyntheticMethodBinding[] syntheticReadAccessors
public TypeBinding genericCast
public TypeBinding[] otherGenericCasts
Constructor Detail |
---|
public QualifiedNameReference(char[][] tokens, long[] positions, int sourceStart, int sourceEnd)
Method Detail |
---|
public FlowInfo analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
analyseAssignment
in class Reference
public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
analyseCode
in class Reference
public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
Expression
analyseCode
in class Expression
public void checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, boolean checkString)
public void computeConversion(Scope scope, TypeBinding runtimeTimeType, TypeBinding compileTimeType)
Expression
computeConversion
in class Expression
Expression.computeConversion(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding)
public void generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired)
generateAssignment
in class Reference
public void generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
Expression
generateCode
in class Expression
currentScope
- org.eclipse.jdt.internal.compiler.lookup.BlockScopecodeStream
- org.eclipse.jdt.internal.compiler.codegen.CodeStreamvalueRequired
- booleanpublic void generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired)
generateCompoundAssignment
in class Reference
public void generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired)
generatePostIncrement
in class Reference
public FieldBinding generateReadSequence(BlockScope currentScope, CodeStream codeStream)
public void generateReceiver(CodeStream codeStream)
public TypeBinding[] genericTypeArguments()
InvocationSite.genericTypeArguments()
protected FieldBinding getCodegenBinding(int index)
protected TypeBinding getFinalReceiverType()
protected TypeBinding getGenericCast(int index)
public TypeBinding getOtherFieldBindings(BlockScope scope)
public void manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
public void manageSyntheticAccessIfNecessary(BlockScope currentScope, FieldBinding fieldBinding, int index, FlowInfo flowInfo)
public int nullStatus(FlowInfo flowInfo)
nullStatus
in class Expression
public Constant optimizedBooleanConstant()
Expression
optimizedBooleanConstant
in class Expression
public TypeBinding postConversionType(Scope scope)
Expression
postConversionType
in class Expression
Expression.postConversionType(Scope)
public StringBuffer printExpression(int indent, StringBuffer output)
printExpression
in class Expression
public TypeBinding reportError(BlockScope scope)
public TypeBinding resolveType(BlockScope scope)
Expression
resolveType
in class Expression
public void setFieldIndex(int index)
setFieldIndex
in interface InvocationSite
setFieldIndex
in class NameReference
protected void setGenericCast(int index, TypeBinding someGenericCast)
protected void setSyntheticAccessor(FieldBinding fieldBinding, int index, SyntheticMethodBinding syntheticAccessor)
public void traverse(ASTVisitor visitor, BlockScope scope)
Expression
traverse
in class Expression
public void traverse(ASTVisitor visitor, ClassScope scope)
Expression
traverse
in class Expression
public String unboundReferenceErrorName()
unboundReferenceErrorName
in class NameReference
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |