|
||||||||||
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
Fields inherited from class org.eclipse.jdt.internal.compiler.ast.NameReference |
---|
actualReceiverType, binding, codegenBinding |
Fields inherited from class org.eclipse.jdt.internal.compiler.ast.Expression |
---|
constant, implicitConversion, resolvedType, statementEnd |
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. |
TypeBinding |
checkFieldAccess(BlockScope scope)
Check and/or redirect the field access to the delegate receiver if any |
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()
|
TypeBinding |
getOtherFieldBindings(BlockScope scope)
|
void |
manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope,
FlowInfo flowInfo)
|
void |
manageSyntheticAccessIfNecessary(BlockScope currentScope,
FieldBinding fieldBinding,
TypeBinding lastReceiverType,
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. |
java.lang.StringBuffer |
printExpression(int indent,
java.lang.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)
|
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 |
java.lang.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, complainIfUnreachable, generateArguments, isEmptyBlock, 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 |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.jdt.internal.compiler.lookup.InvocationSite |
---|
sourceEnd, sourceStart |
Field Detail |
---|
public char[][] tokens
public long[] sourcePositions
public FieldBinding[] otherBindings
public FieldBinding[] otherCodegenBindings
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 TypeBinding checkFieldAccess(BlockScope scope)
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()
public TypeBinding getOtherFieldBindings(BlockScope scope)
public void manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
public void manageSyntheticAccessIfNecessary(BlockScope currentScope, FieldBinding fieldBinding, TypeBinding lastReceiverType, 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 java.lang.StringBuffer printExpression(int indent, java.lang.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
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 java.lang.String unboundReferenceErrorName()
unboundReferenceErrorName
in class NameReference
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |