org.aspectj.org.eclipse.jdt.internal.compiler.ast
Class ExplicitConstructorCall

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode
      extended by org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement
          extended by org.aspectj.org.eclipse.jdt.internal.compiler.ast.ExplicitConstructorCall
All Implemented Interfaces:
Invocation, InvocationSite, TypeConstants, TypeIds
Direct Known Subclasses:
CompletionOnExplicitConstructorCall, SelectionOnExplicitConstructorCall

public class ExplicitConstructorCall
extends Statement
implements Invocation


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.InvocationSite
InvocationSite.EmptyWithAstNode
 
Nested classes/interfaces inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeConstants
TypeConstants.CloseMethodRecord
 
Field Summary
 int accessMode
           
 Expression[] arguments
           
 MethodBinding binding
           
 TypeBinding[] genericTypeArguments
           
 VariableBinding[][] implicitArguments
           
static int ImplicitSuper
           
 Expression qualification
           
static int Super
           
static int This
           
 TypeReference[] typeArguments
           
 int typeArgumentsSourceStart
           
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement
COMPLAINED_FAKE_REACHABLE, COMPLAINED_UNREACHABLE, NOT_COMPLAINED
 
Fields inherited from class org.aspectj.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, 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, Used
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeConstants
ANNOTATION, 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, 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, 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_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, MISMATCH, NOT_NULL, NULL, OBJECT, OK, 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, OTHER_WRAPPER_CLOSEABLES, PACKAGE_INFO_NAME, READOBJECT, READRESOLVE, REFLECT, REQUIRE_NON_NULL, RESOURCE_FREE_CLOSEABLE_STREAM, RUNTIME, 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, TYPE_PARAMETER_TARGET, TYPE_USE_TARGET, TYPEBINDING, UNCHECKED, 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_EXTENDS, WILDCARD_MINUS, WILDCARD_NAME, WILDCARD_PLUS, WILDCARD_STAR, WILDCARD_SUPER, WRITEOBJECT, WRITEREPLACE, ZIP
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeIds
BitAutoCloseable, BitCloseable, 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_ConfiguredAnnotationNonNull, T_ConfiguredAnnotationNonNullByDefault, T_ConfiguredAnnotationNullable, 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_short, T_undefined, T_void, UNBOXING
 
Constructor Summary
ExplicitConstructorCall(int accessMode)
           
 
Method Summary
 FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 Expression[] arguments()
           
 MethodBinding binding(TypeBinding targetType, boolean reportErrors, Scope scope)
          Answer the resolved method binding of this invocation.
 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)
          Constructor call code generation
 TypeBinding[] genericTypeArguments()
           
 InferenceContext18 getInferenceContext(ParameterizedMethodBinding method)
          Retrieve an inference context for the given method which must have been registered using Invocation.registerInferenceContext(ParameterizedGenericMethodBinding, InferenceContext18).
 InnerInferenceHelper innerInferenceHelper()
          If this invocation has any poly expressions as arguments, this method answers an inference helper that mediates during overload resolution, even if no actual inference happens for this invocation.
 boolean innersNeedUpdate()
          Answer whether the current invocation has inner expressions that still need updating after inference.
 void innerUpdateDone()
          Mark that updating (the need for which is signaled via Invocation.innersNeedUpdate()) has been done.
 boolean isImplicitSuper()
           
 boolean isSuperAccess()
           
 boolean isTypeAccess()
           
 void manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 java.lang.StringBuffer printStatement(int indent, java.lang.StringBuffer output)
           
 void registerInferenceContext(ParameterizedGenericMethodBinding method, InferenceContext18 infCtx18)
          Register the given inference context, which produced the given method as its intermediate result.
 void resolve(BlockScope scope)
           
 void setActualReceiverType(ReferenceBinding receiverType)
           
 void setDepth(int depth)
           
 void setFieldIndex(int depth)
           
 void traverse(ASTVisitor visitor, BlockScope scope)
           
 boolean updateBindings(MethodBinding updatedBinding, TypeBinding targetType)
          Where the AST node may hold references to the results of Invocation Applicability Inference, this method allows to update those references to the result of Invocation Type Inference.
 boolean usesInference()
          Answer true if this invocation has determined its binding using inference.
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement
analyseArguments, branchChainTo, checkAgainstNullTypeAnnotation, complainIfUnreachable, expectedType, findConstructorBinding, generateArguments, getExpressionContext, invocationTargetType, isBoxingCompatible, isEmptyBlock, isKnowDeadCodePattern, isValidJavaStatement, print, recordExceptionsForEnclosingLambda, resolveCase
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode
checkInvocationArguments, concreteStatement, copySE8AnnotationsToType, isFieldUseDeprecated, isImplicitThis, isMethodUseDeprecated, isSuper, isThis, isTypeUseDeprecated, isUnqualifiedSuper, printAnnotations, printIndent, printModifiers, receiverIsImplicitThis, resolveAnnotations, resolveAnnotations, resolveAnnotations, resolveDeprecatedAnnotations, resolvePolyExpressionArguments, resolvePolyExpressionArguments, 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
getExpressionContext, invocationTargetType, receiverIsImplicitThis, sourceEnd, sourceStart
 

Field Detail

arguments

public Expression[] arguments

qualification

public Expression qualification

binding

public MethodBinding binding

accessMode

public int accessMode

typeArguments

public TypeReference[] typeArguments

genericTypeArguments

public TypeBinding[] genericTypeArguments

ImplicitSuper

public static final int ImplicitSuper
See Also:
Constant Field Values

Super

public static final int Super
See Also:
Constant Field Values

This

public static final int This
See Also:
Constant Field Values

implicitArguments

public VariableBinding[][] implicitArguments

typeArgumentsSourceStart

public int typeArgumentsSourceStart
Constructor Detail

ExplicitConstructorCall

public ExplicitConstructorCall(int accessMode)
Method Detail

analyseCode

public FlowInfo analyseCode(BlockScope currentScope,
                            FlowContext flowContext,
                            FlowInfo flowInfo)
Specified by:
analyseCode in class Statement

generateCode

public void generateCode(BlockScope currentScope,
                         CodeStream codeStream)
Constructor call code generation

Specified by:
generateCode in class Statement
Parameters:
currentScope - org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScope
codeStream - org.aspectj.org.eclipse.jdt.internal.compiler.codegen.CodeStream

genericTypeArguments

public TypeBinding[] genericTypeArguments()
Specified by:
genericTypeArguments in interface InvocationSite
See Also:
InvocationSite.genericTypeArguments()

isImplicitSuper

public boolean isImplicitSuper()

isSuperAccess

public boolean isSuperAccess()
Specified by:
isSuperAccess in interface InvocationSite

isTypeAccess

public boolean isTypeAccess()
Specified by:
isTypeAccess in interface InvocationSite

manageSyntheticAccessIfNecessary

public void manageSyntheticAccessIfNecessary(BlockScope currentScope,
                                             FlowInfo flowInfo)

printStatement

public java.lang.StringBuffer printStatement(int indent,
                                             java.lang.StringBuffer output)
Specified by:
printStatement in class Statement

resolve

public void resolve(BlockScope scope)
Specified by:
resolve in class Statement

setActualReceiverType

public void setActualReceiverType(ReferenceBinding receiverType)
Specified by:
setActualReceiverType in interface InvocationSite

setDepth

public void setDepth(int depth)
Specified by:
setDepth in interface InvocationSite

setFieldIndex

public void setFieldIndex(int depth)
Specified by:
setFieldIndex in interface InvocationSite

traverse

public void traverse(ASTVisitor visitor,
                     BlockScope scope)
Overrides:
traverse in class ASTNode

binding

public MethodBinding binding(TypeBinding targetType,
                             boolean reportErrors,
                             Scope scope)
Description copied from interface: Invocation
Answer the resolved method binding of this invocation. If a target type is given, the invocation gets a chance to do repeated method lookup.

Specified by:
binding in interface Invocation
Parameters:
targetType - the target type of this invocation or null if not yet known
reportErrors - if true then this is the last call, if no valid binding can be answered we should report an error
scope - if reportErrors is true then this scope can be used for error reporting

arguments

public Expression[] arguments()
Specified by:
arguments in interface Invocation

updateBindings

public boolean updateBindings(MethodBinding updatedBinding,
                              TypeBinding targetType)
Description copied from interface: Invocation
Where the AST node may hold references to the results of Invocation Applicability Inference, this method allows to update those references to the result of Invocation Type Inference. Note that potentially more than just the method binding is updated.

Specified by:
updateBindings in interface Invocation
Parameters:
updatedBinding - the final method binding after full inference
targetType - the target type used during Invocation Type Inference
Returns:
true if an update has happened

registerInferenceContext

public void registerInferenceContext(ParameterizedGenericMethodBinding method,
                                     InferenceContext18 infCtx18)
Description copied from interface: Invocation
Register the given inference context, which produced the given method as its intermediate result. Later when the same method is selected as the most specific method, the inference context for this pair (Invocation x MethodBinding) can be looked up using InvocationSite.getExpressionContext() to continue the type inference.

Specified by:
registerInferenceContext in interface Invocation

getInferenceContext

public InferenceContext18 getInferenceContext(ParameterizedMethodBinding method)
Description copied from interface: Invocation
Retrieve an inference context for the given method which must have been registered using Invocation.registerInferenceContext(ParameterizedGenericMethodBinding, InferenceContext18).

Specified by:
getInferenceContext in interface Invocation
Parameters:
method - an intermediate resolved candidate for this invocation return a suspended inference context or null if none was registered for this method.

usesInference

public boolean usesInference()
Description copied from interface: Invocation
Answer true if this invocation has determined its binding using inference.

Specified by:
usesInference in interface Invocation

innersNeedUpdate

public boolean innersNeedUpdate()
Description copied from interface: Invocation
Answer whether the current invocation has inner expressions that still need updating after inference.

Specified by:
innersNeedUpdate in interface Invocation

innerUpdateDone

public void innerUpdateDone()
Description copied from interface: Invocation
Mark that updating (the need for which is signaled via Invocation.innersNeedUpdate()) has been done.

Specified by:
innerUpdateDone in interface Invocation

innerInferenceHelper

public InnerInferenceHelper innerInferenceHelper()
Description copied from interface: Invocation
If this invocation has any poly expressions as arguments, this method answers an inference helper that mediates during overload resolution, even if no actual inference happens for this invocation.

Specified by:
innerInferenceHelper in interface Invocation

freshInferenceContext

public InferenceContext18 freshInferenceContext(Scope scope)
Description copied from interface: InvocationSite
When inference for this invocationSite starts, get a fresh inference context, initialized from this site.

Specified by:
freshInferenceContext in interface InvocationSite