|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode
org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement
org.aspectj.org.eclipse.jdt.internal.compiler.ast.Expression
org.aspectj.org.eclipse.jdt.internal.compiler.ast.MessageSend
public class MessageSend
AspectJ Extension - support for MethodBinding.alwaysNeedsAccessMethod
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Expression |
|---|
constant, implicitConversion, resolvedType, statementEnd |
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement |
|---|
COMPLAINED_FAKE_REACHABLE, COMPLAINED_UNREACHABLE, NOT_COMPLAINED |
| Constructor Summary | |
|---|---|
MessageSend()
|
|
| Method Summary | |
|---|---|
FlowInfo |
analyseCode(BlockScope currentScope,
FlowContext flowContext,
FlowInfo flowInfo)
|
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. |
TypeBinding |
expectedType()
Implementation of InvocationSite.expectedType()
suitable at this level. |
void |
generateCode(BlockScope currentScope,
CodeStream codeStream,
boolean valueRequired)
MessageSend code generation |
TypeBinding[] |
genericTypeArguments()
|
boolean |
isSuperAccess()
|
boolean |
isTypeAccess()
|
void |
manageSyntheticAccessIfNecessary(BlockScope currentScope,
FlowInfo flowInfo)
|
int |
nullStatus(FlowInfo flowInfo)
|
TypeBinding |
postConversionType(Scope scope)
Returns the type of the expression after required implicit conversions. |
java.lang.StringBuffer |
printExpression(int indent,
java.lang.StringBuffer output)
|
protected void |
resolveMethodBinding(BlockScope scope,
TypeBinding[] argumentTypes)
|
TypeBinding |
resolveType(BlockScope scope)
Resolve the type of this expression in the context of a blockScope |
void |
setActualReceiverType(ReferenceBinding receiverType)
|
void |
setDepth(int depth)
|
void |
setExpectedType(TypeBinding expectedType)
Record the type expectation before this expression is typechecked. |
void |
setFieldIndex(int depth)
|
void |
traverse(ASTVisitor visitor,
BlockScope blockScope)
Traverse an expression in the context of a blockScope |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Expression |
|---|
analyseCode, checkCastTypesCompatibility, checkNPE, checkUnsafeCast, forcedToBeRaw, generateCode, generateOptimizedBoolean, generateOptimizedStringConcatenation, generateOptimizedStringConcatenationCreation, getDirectBinding, isCompactableOperation, isConstantValueOfTypeAssignableToType, isConstantValueRepresentable, isTypeReference, localVariableBinding, markAsNonNull, optimizedBooleanConstant, print, printStatement, resolve, resolveType, resolveTypeExpecting, reusableJSRTarget, tagAsNeedCheckCast, tagAsUnnecessaryCast, toTypeReference, traverse |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement |
|---|
branchChainTo, checkAgainstNullAnnotation, complainIfUnreachable, generateArguments, isBoxingCompatible, isEmptyBlock, isKnowDeadCodePattern, isValidJavaStatement, resolveCase |
| Methods inherited from class org.aspectj.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.aspectj.org.eclipse.jdt.internal.compiler.lookup.InvocationSite |
|---|
sourceEnd, sourceStart |
| Field Detail |
|---|
public Expression receiver
public char[] selector
public Expression[] arguments
public MethodBinding binding
public MethodBinding syntheticAccessor
public TypeBinding expectedType
public long nameSourcePosition
public TypeBinding actualReceiverType
public TypeBinding valueCast
public TypeReference[] typeArguments
public TypeBinding[] genericTypeArguments
| Constructor Detail |
|---|
public MessageSend()
| Method Detail |
|---|
public FlowInfo analyseCode(BlockScope currentScope,
FlowContext flowContext,
FlowInfo flowInfo)
analyseCode in class Expression
public void computeConversion(Scope scope,
TypeBinding runtimeTimeType,
TypeBinding compileTimeType)
Expression
computeConversion in class ExpressionExpression.computeConversion(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Scope, org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding)
public void generateCode(BlockScope currentScope,
CodeStream codeStream,
boolean valueRequired)
generateCode in class ExpressioncurrentScope - org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScopecodeStream - org.aspectj.org.eclipse.jdt.internal.compiler.codegen.CodeStreamvalueRequired - booleanpublic TypeBinding[] genericTypeArguments()
genericTypeArguments in interface InvocationSiteInvocationSite.genericTypeArguments()public boolean isSuperAccess()
isSuperAccess in interface InvocationSitepublic boolean isTypeAccess()
isTypeAccess in interface InvocationSite
public void manageSyntheticAccessIfNecessary(BlockScope currentScope,
FlowInfo flowInfo)
public int nullStatus(FlowInfo flowInfo)
nullStatus in class Expressionpublic TypeBinding postConversionType(Scope scope)
Expression
postConversionType in class ExpressionExpression.postConversionType(Scope)
public java.lang.StringBuffer printExpression(int indent,
java.lang.StringBuffer output)
printExpression in class Expressionpublic TypeBinding resolveType(BlockScope scope)
Expression
resolveType in class Expressionpublic void setActualReceiverType(ReferenceBinding receiverType)
setActualReceiverType in interface InvocationSitepublic void setDepth(int depth)
setDepth in interface InvocationSitepublic void setExpectedType(TypeBinding expectedType)
Expression
setExpectedType in class ExpressionexpectedType - The type denoting an expectation in the context of an assignment conversionExpression.setExpectedType(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding)public void setFieldIndex(int depth)
setFieldIndex in interface InvocationSitepublic TypeBinding expectedType()
StatementInvocationSite.expectedType()
suitable at this level. Subclasses should override as necessary.
expectedType in interface InvocationSiteexpectedType in class StatementInvocationSite.expectedType()
public void traverse(ASTVisitor visitor,
BlockScope blockScope)
Expression
traverse in class Expression
protected void resolveMethodBinding(BlockScope scope,
TypeBinding[] argumentTypes)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||