public class MessageSend extends Expression implements IPolyExpression, Invocation
InvocationSite.EmptyWithAstNodeTypeConstants.BoundCheckStatus, TypeConstants.CloseMethodRecord| Modifier and Type | Field and Description |
|---|---|
TypeBinding |
actualReceiverType |
protected boolean |
argsContainCast |
Expression[] |
arguments |
boolean |
argumentsHaveErrors |
TypeBinding[] |
argumentTypes |
MethodBinding |
binding |
TypeBinding |
expectedType |
ExpressionContext |
expressionContext |
TypeBinding[] |
genericTypeArguments |
long |
nameSourcePosition |
Expression |
receiver |
char[] |
selector |
MethodBinding |
syntheticAccessor |
TypeReference[] |
typeArguments |
TypeBinding |
valueCast |
constant, implicitConversion, NO_EXPRESSIONS, resolvedType, statementEndCOMPLAINED_FAKE_REACHABLE, COMPLAINED_UNREACHABLE, NOT_COMPLAINEDBit1, 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, DocumentedCasesOmitted, DocumentedFallthrough, Empty, ErrorInSignature, FirstAssignmentToLocal, GenerateCheckcast, HasAbstractMethods, HasAllMethodBodies, HasBeenGenerated, HasBeenResolved, HasFunctionalInterfaceTypes, HasLocalType, HasSyntaxErrors, HasTypeAnnotations, IgnoreNoEffectAssignCheck, IgnoreRawTypeCheck, InsideExpressionStatement, InsideJavadoc, INVOCATION_ARGUMENT_OK, INVOCATION_ARGUMENT_UNCHECKED, INVOCATION_ARGUMENT_WILDCARD, IsAnnotationDefaultValue, IsAnonymousType, IsAnySubRoutineEscaping, IsArgument, IsCapturedOuterLocal, IsCompoundAssigned, IsDefaultConstructor, IsDiamond, IsElseIfStatement, IsElseStatementUnreachable, IsForeachElementVariable, IsImplicitThis, IsImplicitUnit, IsLocalDeclarationReachable, IsLocalType, IsMemberType, IsNonNull, IsReachable, IsRecovered, IsReturnedValue, IsSecondaryType, IsStrictlyAssigned, IsSubRoutineEscaping, IsSuperType, IsSynchronized, IsSynthetic, IsThenStatementUnreachable, IsTryBlockExiting, IsTypeElided, IsUnionType, IsUsefulEmptyStatement, IsVarArgs, LabelUsed, NeededScope, NeedFreeReturn, NeedReceiverGenericCast, NO_ARGUMENTS, OnDemand, OperatorMASK, OperatorSHIFT, OverridingMethodWithSupercall, ParenthesizedMASK, ParenthesizedSHIFT, ResolveJavadoc, RestrictiveFlagMASK, ReturnTypeIDMASK, ShadowsOuterLocal, sourceEnd, sourceStart, SuperAccess, ThenExit, Unchecked, UndocumentedEmptyBlock, UnnecessaryCast, UnsafeCast, UsedANNOTATION, ANNOTATION_PREFIX, ANNOTATION_SUFFIX, ANONYM_PREFIX, ANONYM_SUFFIX, ANONYMOUS_METHOD, APACHE, APACHE_DBUTILS, APACHE_IOUTILS, ASSERT_CLASS, ASSERT_FALSE, ASSERT_NOTNULL, ASSERT_NULL, ASSERT_TRUE, AUTOWIRED, BEANS, BOOLEAN, BYTE, CAPTURE18, 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, CHECK_ARGUMENT, CHECK_NOT_NULL, CHECK_STATE, CLINIT, CLONE, CLOSE, CLOSE_QUIETLY, closeMethods, COM, COM_GOOGLE_COMMON_BASE_PRECONDITIONS, COM_GOOGLE_INJECT_INJECT, COMMONS, COMPILER, CONSTRAINT_EQUAL, CONSTRAINT_EXTENDS, CONSTRAINT_SUPER, CORE, DEFAULT_LOCATION__ARRAY_CONTENTS, DEFAULT_LOCATION__FIELD, DEFAULT_LOCATION__PARAMETER, DEFAULT_LOCATION__RETURN_TYPE, DEFAULT_LOCATION__TYPE_ARGUMENT, DEFAULT_LOCATION__TYPE_BOUND, DEFAULT_LOCATION__TYPE_PARAMETER, DESERIALIZE_LAMBDA, DOM, DOUBLE, ECLIPSE, EQUALS, FACTORY, FLOAT, FRAMEWORK, GETCLASS, GOOGLE, GUAVA_CLOSEABLES, HASHCODE, INIT, INJECT_PACKAGE, INJECT_TYPE, INT, INTERNAL, INVOKE, IO, IS_NOTNULL, IS_TRUE, ITYPEBINDING, JAVA, JAVA_IO, JAVA_IO_CLOSEABLE, JAVA_IO_EXTERNALIZABLE, JAVA_IO_IOEXCEPTION, JAVA_IO_OBJECTINPUTSTREAM, JAVA_IO_OBJECTOUTPUTSTREAM, JAVA_IO_OBJECTSTREAMEXCEPTION, JAVA_IO_PRINTSTREAM, JAVA_IO_RESOURCE_FREE_CLOSEABLES, JAVA_IO_SERIALIZABLE, JAVA_IO_WRAPPER_CLOSEABLES, JAVA_LANG, JAVA_LANG_ANNOTATION, JAVA_LANG_ANNOTATION_ANNOTATION, JAVA_LANG_ANNOTATION_DOCUMENTED, JAVA_LANG_ANNOTATION_ELEMENTTYPE, JAVA_LANG_ANNOTATION_INHERITED, JAVA_LANG_ANNOTATION_REPEATABLE, 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_FUNCTIONAL_INTERFACE, JAVA_LANG_ILLEGALARGUMENTEXCEPTION, JAVA_LANG_INTEGER, JAVA_LANG_INVOKE_LAMBDAMETAFACTORY, JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE, JAVA_LANG_INVOKE_METHODHANDLE_POLYMORPHICSIGNATURE, JAVA_LANG_INVOKE_METHODHANDLES, JAVA_LANG_INVOKE_SERIALIZEDLAMBDA, 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_NIO_FILE_FILES, JAVA_UTIL_COLLECTION, JAVA_UTIL_ITERATOR, JAVA_UTIL_OBJECTS, JAVA_UTIL_ZIP_WRAPPER_CLOSEABLES, JAVAX, JAVAX_ANNOTATION_INJECT_INJECT, JAVAX_RMI_CORBA_STUB, JDT, JUNIT, JUNIT_FRAMEWORK_ASSERT, LAMBDA_TYPE, LANG, LANG3, LENGTH, LONG, LOOKUP, MAIN, NOT_NULL, NULL, OBJECT, OPTIONAL, ORG, ORG_APACHE_COMMONS_LANG_VALIDATE, ORG_APACHE_COMMONS_LANG3_VALIDATE, ORG_ECLIPSE_CORE_RUNTIME_ASSERT, ORG_ECLIPSE_JDT_CORE_DOM_ITYPEBINDING, ORG_ECLIPSE_JDT_INTERNAL_COMPILER_LOOKUP_TYPEBINDING, ORG_JUNIT_ASSERT, ORG_SPRING_AUTOWIRED, OTHER_WRAPPER_CLOSEABLES, PACKAGE_INFO_NAME, READOBJECT, READRESOLVE, REFLECT, REQUIRE_NON_NULL, REQUIRED, RESOURCE_FREE_CLOSEABLE_STREAM, RUNTIME, SERIALPERSISTENTFIELDS, SERIALVERSIONUID, SHORT, SPRING, 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, TYPE_PARAMETER_TARGET, TYPE_USE_TARGET, TYPEBINDING, UPPER_ANNOTATION_TYPE, UPPER_CLASS, UPPER_CONSTRUCTOR, UPPER_FIELD, UPPER_LOCAL_VARIABLE, UPPER_METHOD, UPPER_PACKAGE, UPPER_PARAMETER, UPPER_RUNTIME, UPPER_SOURCE, UTIL, VALIDATE_CLASS, VALUE, VALUEOF, VALUES, VOID, WILDCARD_CAPTURE, WILDCARD_CAPTURE_NAME_PREFIX, WILDCARD_CAPTURE_NAME_SUFFIX, WILDCARD_CAPTURE_SIGNABLE_NAME_SUFFIX, WILDCARD_EXTENDS, WILDCARD_MINUS, WILDCARD_NAME, WILDCARD_PLUS, WILDCARD_STAR, WILDCARD_SUPER, WRITEOBJECT, WRITEREPLACE, ZIPBitAnyNullAnnotation, BitAutoCloseable, BitCloseable, BitNonNullAnnotation, BitNonNullByDefaultAnnotation, BitNullableAnnotation, BitResourceFreeCloseable, BitUninitialized, BitUninternedType, BitWrapperCloseable, 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, InheritableBits, 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_ComGoogleCommonBasePreconditions, T_ComGoogleInjectInject, 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_JavaLangAnnotationRepeatable, 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_JavaLangFunctionalInterface, 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_JavaUtilObjects, T_JavaxInjectInject, T_JunitFrameworkAssert, T_LastWellKnownTypeId, T_long, T_null, T_OrgApacheCommonsLang3Validate, T_OrgApacheCommonsLangValidate, T_OrgEclipseCoreRuntimeAssert, T_OrgJunitAssert, T_OrgSpringframeworkBeansFactoryAnnotationAutowired, T_short, T_undefined, T_void, UNBOXING| Constructor and Description |
|---|
MessageSend() |
| Modifier and Type | Method and Description |
|---|---|
FlowInfo |
analyseCode(BlockScope currentScope,
FlowContext flowContext,
FlowInfo flowInfo) |
Expression[] |
arguments() |
MethodBinding |
binding()
Answer the resolved method binding of this invocation
|
boolean |
checkNPE(BlockScope scope,
FlowContext flowContext,
FlowInfo flowInfo,
int ttlForFieldCheck)
Check this expression against potential NPEs, which may occur:
if the expression is the receiver in a field access, qualified allocation, array reference or message send
incl.
|
void |
cleanUpInferenceContexts()
Discard any state from type inference when compilation is done.
|
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.
|
protected TypeBinding |
findMethodBinding(BlockScope scope) |
InferenceContext18 |
freshInferenceContext(Scope scope)
When inference for this invocationSite starts, get a fresh inference context, initialized from this site.
|
void |
generateCode(BlockScope currentScope,
CodeStream codeStream,
boolean valueRequired)
MessageSend code generation
|
TypeBinding[] |
genericTypeArguments() |
ExpressionContext |
getExpressionContext() |
InferenceContext18 |
getInferenceContext(ParameterizedMethodBinding method)
Retrieve an inference context for the given method.
|
TypeBinding |
invocationTargetType()
Implementation of
InvocationSite.invocationTargetType()
suitable at this level. |
boolean |
isBoxingCompatibleWith(TypeBinding targetType,
Scope scope) |
boolean |
isCompatibleWith(TypeBinding targetType,
Scope scope) |
boolean |
isPolyExpression() |
boolean |
isPolyExpression(MethodBinding resolutionCandidate)
Variant of isPolyExpression() to be used during type inference, when a resolution candidate exists.
|
boolean |
isQualifiedSuper() |
boolean |
isSuperAccess() |
boolean |
isTypeAccess() |
void |
manageSyntheticAccessIfNecessary(BlockScope currentScope,
FlowInfo flowInfo) |
int |
nullStatus(FlowInfo flowInfo,
FlowContext flowContext) |
TypeBinding |
postConversionType(Scope scope)
Returns the type of the expression after required implicit conversions.
|
java.lang.StringBuffer |
printExpression(int indent,
java.lang.StringBuffer output) |
boolean |
receiverIsImplicitThis() |
void |
registerInferenceContext(ParameterizedGenericMethodBinding method,
InferenceContext18 infCtx18)
Register the given inference context, which produced the given method as its intermediate result.
|
void |
registerResult(TypeBinding targetType,
MethodBinding method)
Record result against target type
|
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 |
setExpressionContext(ExpressionContext context) |
void |
setFieldIndex(int depth) |
boolean |
sIsMoreSpecific(TypeBinding s,
TypeBinding t,
Scope scope) |
boolean |
statementExpression() |
void |
traverse(ASTVisitor visitor,
BlockScope blockScope)
Traverse an expression in the context of a blockScope
|
analyseCode, checkCastTypesCompatibility, checkNPE, checkNPEbyUnboxing, checkUnsafeCast, forcedToBeRaw, generateCode, generateOptimizedBoolean, generateOptimizedStringConcatenation, generateOptimizedStringConcatenationCreation, getDirectBinding, getPolyExpressions, isCompactableOperation, isConstantValueOfTypeAssignableToType, isConstantValueRepresentable, isExactMethodReference, isFunctionalType, isPertinentToApplicability, isPotentiallyCompatibleWith, isTypeReference, localVariableBinding, markAsNonNull, nullAnnotatedVariableBinding, optimizedBooleanConstant, print, printStatement, resolve, resolveExpressionExpecting, resolveType, resolveTypeExpecting, reusableJSRTarget, tagAsNeedCheckCast, tagAsUnnecessaryCast, toTypeReference, traverseanalyseArguments, branchChainTo, breaksOut, checkAgainstNullTypeAnnotation, complainIfUnreachable, completesByContinue, continuesAtOuterLabel, doesNotCompleteNormally, expectedType, findConstructorBinding, generateArguments, isBoxingCompatible, isEmptyBlock, isKnowDeadCodePattern, isValidJavaStatement, resolveCaseacceptPotentiallyCompatibleMethods, checkingPotentialCompatibility, checkInvocationArguments, concreteStatement, copySE8AnnotationsToType, isFieldUseDeprecated, isImplicitThis, isMethodUseDeprecated, isSuper, isThis, isTypeUseDeprecated, isUnqualifiedSuper, printAnnotations, printIndent, printModifiers, resolveAnnotations, resolveAnnotations, resolveAnnotations, resolveDeprecatedAnnotations, resolvePolyExpressionArguments, sourceEnd, sourceStart, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetPolyExpressions, isFunctionalType, isPertinentToApplicability, isPotentiallyCompatibleWith, resolveExpressionExpectingacceptPotentiallyCompatibleMethods, checkingPotentialCompatibility, sourceEnd, sourceStartpublic 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
public ExpressionContext expressionContext
protected boolean argsContainCast
public TypeBinding[] argumentTypes
public boolean argumentsHaveErrors
public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
analyseCode in class Expressionpublic boolean checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck)
ExpressioncheckNPE in class Expressionscope - the scope of the analysisflowContext - the current flow contextflowInfo - the upstream flow info; caveat: may get modifiedttlForFieldCheck - if this is a reference to a field we will mark that field as nonnull for the specified timeToLivepublic void computeConversion(Scope scope, TypeBinding runtimeTimeType, TypeBinding compileTimeType)
Expressionpublic 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 InvocationSitepublic void manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
public int nullStatus(FlowInfo flowInfo, FlowContext flowContext)
nullStatus in class Expressionpublic TypeBinding postConversionType(Scope scope)
ExpressionpostConversionType in class ExpressionExpression.postConversionType(Scope)public java.lang.StringBuffer printExpression(int indent,
java.lang.StringBuffer output)
printExpression in class Expressionpublic TypeBinding resolveType(BlockScope scope)
ExpressionresolveType in interface IPolyExpressionresolveType in class Expressionprotected TypeBinding findMethodBinding(BlockScope scope)
public void setActualReceiverType(ReferenceBinding receiverType)
setActualReceiverType in interface InvocationSitepublic void setDepth(int depth)
setDepth in interface InvocationSitepublic void setExpectedType(TypeBinding expectedType)
ExpressionsetExpectedType in interface IPolyExpressionsetExpectedType 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 setExpressionContext(ExpressionContext context)
setExpressionContext in interface IPolyExpressionsetExpressionContext in class Expressionpublic boolean isPolyExpression()
isPolyExpression in interface IPolyExpressionisPolyExpression in class Expressionpublic boolean isBoxingCompatibleWith(TypeBinding targetType, Scope scope)
isBoxingCompatibleWith in interface IPolyExpressionisBoxingCompatibleWith in class Expressionpublic boolean isCompatibleWith(TypeBinding targetType, Scope scope)
isCompatibleWith in interface IPolyExpressionisCompatibleWith in class Expressionpublic boolean isPolyExpression(MethodBinding resolutionCandidate)
isPolyExpression in interface IPolyExpressionisPolyExpression in class Expressionpublic boolean sIsMoreSpecific(TypeBinding s, TypeBinding t, Scope scope)
sIsMoreSpecific in interface IPolyExpressionsIsMoreSpecific in class Expressionpublic void setFieldIndex(int depth)
setFieldIndex in interface InvocationSitepublic TypeBinding invocationTargetType()
StatementInvocationSite.invocationTargetType()
suitable at this level. Subclasses should override as necessary.invocationTargetType in interface IPolyExpressioninvocationTargetType in interface InvocationSiteinvocationTargetType in class StatementInvocationSite.invocationTargetType()public void traverse(ASTVisitor visitor, BlockScope blockScope)
Expressiontraverse in class Expressionpublic boolean statementExpression()
statementExpression in class Expressionpublic boolean receiverIsImplicitThis()
receiverIsImplicitThis in interface InvocationSitereceiverIsImplicitThis in class ASTNodepublic MethodBinding binding()
Invocationbinding in interface Invocationpublic void registerInferenceContext(ParameterizedGenericMethodBinding method, InferenceContext18 infCtx18)
InvocationInvocation.getInferenceContext(ParameterizedMethodBinding)
to continue the type inference.registerInferenceContext in interface Invocationpublic void registerResult(TypeBinding targetType, MethodBinding method)
InvocationregisterResult in interface Invocationpublic InferenceContext18 getInferenceContext(ParameterizedMethodBinding method)
InvocationgetInferenceContext in interface Invocationmethod - an intermediate resolved candidate for this invocation
return the associated inference context.public void cleanUpInferenceContexts()
InvocationcleanUpInferenceContexts in interface Invocationpublic Expression[] arguments()
arguments in interface Invocationpublic ExpressionContext getExpressionContext()
getExpressionContext in interface IPolyExpressiongetExpressionContext in interface InvocationSitegetExpressionContext in class Statementpublic InferenceContext18 freshInferenceContext(Scope scope)
InvocationSitefreshInferenceContext in interface InvocationSitepublic boolean isQualifiedSuper()
isQualifiedSuper in interface InvocationSiteisQualifiedSuper in class ASTNodeprotected void resolveMethodBinding(BlockScope scope, TypeBinding[] argumentTypes)