Class LambdaExpression
java.lang.Object
org.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.FunctionalExpression
org.aspectj.org.eclipse.jdt.internal.compiler.ast.LambdaExpression
- All Implemented Interfaces:
IPolyExpression, TypeOrLambda, ReferenceContext, TypeConstants, TypeIds, ProblemSeverities
- Direct Known Subclasses:
SelectionOnLambdaExpression
public class LambdaExpression
extends FunctionalExpression
implements IPolyExpression, ReferenceContext, ProblemSeverities, TypeOrLambda
-
Nested Class Summary
Nested classes/interfaces inherited from interface TypeConstants
TypeConstants.BoundCheckStatus, TypeConstants.CloseMethodRecord, TypeConstants.DangerousMethod -
Field Summary
FieldsFields inherited from class FunctionalExpression
actualMethodBinding, binding, bootstrapMethodNumber, compilationResult, descriptor, enclosingScope, expectedType, expressionContext, hasDescripterProblem, isSerializable, ordinal, shouldCaptureInstance, silentErrorHandlingPolicy, textFields inherited from class Expression
constant, implicitConversion, NO_EXPRESSIONS, resolvedType, statementEndFields inherited from class Statement
COMPLAINED_FAKE_REACHABLE, COMPLAINED_UNREACHABLE, NOT_COMPLAINEDFields inherited from class ASTNode
ArgumentsTypeElided, 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, BlockShouldEndDead, CanBeStatic, ContainsAssertion, DepthMASK, DepthSHIFT, DidResolve, DisableUnnecessaryCastCheck, DiscardEnclosingInstance, DocumentedCasesOmitted, DocumentedFallthrough, Empty, ErrorInSignature, FirstAssignmentToLocal, GenerateCheckcast, HasAbstractMethods, HasAllMethodBodies, HasBeenGenerated, HasBeenResolved, HasFunctionalInterfaceTypes, HasLocalType, HasSyntaxErrors, HasTypeAnnotations, IgnoreNoEffectAssignCheck, IgnoreRawTypeCheck, inModule, InsideExpressionStatement, InsideJavadoc, INVOCATION_ARGUMENT_OK, INVOCATION_ARGUMENT_UNCHECKED, INVOCATION_ARGUMENT_WILDCARD, IsAdditionalDeclarator, IsAnnotationDefaultValue, IsAnonymousType, IsAnyFinallyBlockEscaping, IsArgument, IsCanonicalConstructor, IsCapturedOuterLocal, IsCompoundAssigned, IsDefaultConstructor, IsDiamond, IsElseIfStatement, IsElseStatementUnreachable, IsFinallyBlockEscaping, IsForeachElementVariable, IsImplicitThis, IsImplicitUnit, IsLocalDeclarationReachable, IsLocalType, IsMemberType, IsNonNull, IsPatternVariable, IsReachable, IsRecovered, IsReturnedValue, IsSecondaryType, IsSecretYieldValueUsage, IsStrictlyAssigned, IsSynchronized, IsSynthetic, IsThenStatementUnreachable, IsTryBlockExiting, IsTypeElided, IsUnionType, IsUsedInPatternGuard, IsUsefulEmptyStatement, IsVarArgs, LabelUsed, NeededScope, NeedFreeReturn, NeedReceiverGenericCast, NO_ANNOTATIONS, NO_ARGUMENTS, NO_FIELD_DECLARATIONS, NO_RECORD_COMPONENTS, NO_TYPE_PATTERNS, NO_VARIABLES, OnDemand, OperatorMASK, OperatorSHIFT, OverridingMethodWithSupercall, ParenthesizedMASK, ParenthesizedSHIFT, ResolveJavadoc, RestrictiveFlagMASK, ReturnTypeIDMASK, ShadowsOuterLocal, sourceEnd, sourceStart, SuperAccess, ThenExit, Unchecked, UndocumentedEmptyBlock, UnnecessaryCast, UnsafeCast, UsedFields inherited from interface ProblemSeverities
Abort, AbortCompilation, AbortCompilationUnit, AbortMethod, AbortType, CoreSeverityMASK, Error, Fatal, Ignore, Info, InternalError, Optional, SecondaryError, WarningFields inherited from interface TypeConstants
ANNOTATION, ANNOTATION_PREFIX, ANNOTATION_SUFFIX, ANONYM_PREFIX, ANONYM_SUFFIX, ANONYMOUS_METHOD, APACHE, APACHE_DBUTILS, APACHE_IOUTILS, API, ASSERT_CLASS, ASSERT_FALSE, ASSERT_NOTNULL, ASSERT_NULL, ASSERT_TRUE, ASSERTIONS_CLASS, AUTOMATIC_MODULE_NAME, AUTOWIRED, BASE, BEANS, BOOLEAN, BYTE, CAPTURE18, CHANNELS, 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, CharArray_JAVA_LANG_RECORD, CharArray_JAVA_LANG_RECORD_SLASH, 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, CONTAINS, CONTAINS_ALL, CONTAINS_KEY, CONTAINS_VALUE, CORE, DEFAULT_LOCATION__ARRAY_CONTENTS, DEFAULT_LOCATION__FIELD, DEFAULT_LOCATION__PARAMETER, DEFAULT_LOCATION__RECORD_COMPONENT, DEFAULT_LOCATION__RETURN_TYPE, DEFAULT_LOCATION__TYPE_ARGUMENT, DEFAULT_LOCATION__TYPE_BOUND, DEFAULT_LOCATION__TYPE_PARAMETER, DESERIALIZE_LAMBDA, DOM, DOUBLE, ECLIPSE, EQUALS, FACTORY, FILTER, FLOAT, FLUENT_RESOURCE_CLASSES, FOR_REMOVAL, FRAMEWORK, GET, GET_STATIC_FINAL, GET_STATIC_FINAL__SIGNATURE, GETCLASS, GOOGLE, GUAVA_CLOSEABLES, HASHCODE, IMPLEMENTS, INDEX_OF, INIT, INJECT_PACKAGE, INJECT_TYPE, INT, INTERNAL, INVOKE, IO, IS_INSTANCE, IS_NOTNULL, IS_NULL, IS_TRUE, ITYPEBINDING, JAKARTA, JAKARTA_ANNOTATION_INJECT_INJECT, JAVA, JAVA_BASE, JAVA_DOT_BASE, JAVA_IO, JAVA_IO_CLOSEABLE, JAVA_IO_EXTERNALIZABLE, JAVA_IO_IO, 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_CONSTANT_CLASSDESC, JAVA_LANG_DEPRECATED, JAVA_LANG_DOUBLE, JAVA_LANG_ENUM, JAVA_LANG_ENUM_ENUMDESC, JAVA_LANG_ERROR, JAVA_LANG_EXCEPTION, JAVA_LANG_FLOAT, JAVA_LANG_FUNCTIONAL_INTERFACE, JAVA_LANG_ILLEGALARGUMENTEXCEPTION, JAVA_LANG_INCOMPATIBLECLASSCHANGEERROR, JAVA_LANG_INTEGER, JAVA_LANG_INVOKE_CONSTANTBOOTSTRAP, JAVA_LANG_INVOKE_LAMBDAMETAFACTORY, JAVA_LANG_INVOKE_METHODHANDLE, JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE, JAVA_LANG_INVOKE_METHODHANDLE_POLYMORPHICSIGNATURE, JAVA_LANG_INVOKE_METHODHANDLES, JAVA_LANG_INVOKE_SERIALIZEDLAMBDA, JAVA_LANG_INVOKE_STRING_CONCAT_FACTORY, JAVA_LANG_INVOKE_VARHANDLE, JAVA_LANG_ITERABLE, JAVA_LANG_LONG, JAVA_LANG_NOCLASSDEFFOUNDERROR, JAVA_LANG_NOSUCHFIELDERROR, JAVA_LANG_OBJECT, JAVA_LANG_OVERRIDE, JAVA_LANG_RECORD, JAVA_LANG_REFLECT_CONSTRUCTOR, JAVA_LANG_REFLECT_FIELD, JAVA_LANG_REFLECT_METHOD, JAVA_LANG_RUNTIME_OBJECTMETHODS, JAVA_LANG_RUNTIME_SWITCHBOOTSTRAPS, 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_ARRAYS, JAVA_UTIL_COLLECTION, JAVA_UTIL_ITERATOR, JAVA_UTIL_LIST, JAVA_UTIL_MAP, JAVA_UTIL_OBJECTS, JAVA_UTIL_STREAM, JAVA_UTIL_STREAM__STREAM, JAVA_UTIL_ZIP_WRAPPER_CLOSEABLES, JAVAC, JAVAX, JAVAX_ANNOTATION_INJECT_INJECT, JAVAX_RMI_CORBA_STUB, JDK, JDK_INTERNAL_JAVAC_PREVIEW_FEATURE, JDK_INTERNAL_PREVIEW_FEATURE, JDK_INTERNAL_VALUEBASED, JDT, JUNIT, JUNIT_FRAMEWORK_ASSERT, JUPITER, KEYWORD_EXTENDS, LAMBDA_TYPE, LANG, LANG3, LAST_INDEX_OF, LENGTH, LONG, LOOKUP, MAIN, META_INF_MANIFEST_MF, METHOD_SOURCE, MODULE_INFO_CLASS_NAME, MODULE_INFO_CLASS_NAME_STRING, MODULE_INFO_FILE_NAME, MODULE_INFO_FILE_NAME_STRING, MODULE_INFO_NAME, MODULE_INFO_NAME_STRING, NEXT, NIO, NON_NULL, NON_SEALED, NOT_NULL, NULL, OBJECT, ONE_UTIL_STREAMEX, 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_JUNIT_JUPITER_API_ASSERTIONS, ORG_JUNIT_METHOD_SOURCE, ORG_SPRING_AUTOWIRED, OTHER_WRAPPER_CLOSEABLES, PACKAGE_INFO_NAME, PARAMS, PERMITS, PRIMITIVE_CLASS, PRIMITIVE_CLASS__SIGNATURE, PROVIDER, READOBJECT, READRESOLVE, RECORD_CLASS, RECORD_RESTRICTED_IDENTIFIER, REFLECT, REMOVE, REMOVE_ALL, REQUIRE_NON_NULL, REQUIRED, RESOURCE_FREE_CLOSEABLE_J_U_STREAMS, RESOURCE_FREE_CLOSEABLE_STREAMEX, RETAIN_ALL, RUNTIME, SEALED, SERIALPERSISTENTFIELDS, SERIALVERSIONUID, SHORT, SINCE, SPRING, STRING_CONCAT_FACTORY_TAG_ARG, STRING_CONCAT_FACTORY_TAG_CONST, 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, TOSTRING, TYPE, TYPE_PARAMETER_TARGET, TYPE_USE_TARGET, TYPEBINDING, UPPER_ANNOTATION_TYPE, UPPER_CLASS, UPPER_CONSTRUCTOR, UPPER_FIELD, UPPER_LOCAL_VARIABLE, UPPER_METHOD, UPPER_MODULE, UPPER_PACKAGE, UPPER_PARAMETER, UPPER_RECORD_COMPONENT, UPPER_RUNTIME, UPPER_SOURCE, UTIL, VALIDATE_CLASS, VALUE, VALUEOF, VALUES, VAR, 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, YIELD, ZIPFields inherited from interface TypeIds
BitAnyNullAnnotation, BitAnyOwningAnnotation, BitAutoCloseable, BitCloseable, BitCollection, BitList, BitMap, BitNonNullAnnotation, BitNonNullByDefaultAnnotation, BitNotOwningAnnotation, BitNullableAnnotation, BitOwningAnnotation, 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_JakartaInjectInject, 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_JavaLangNoClassDefFoundError, T_JavaLangObject, T_JavaLangOverride, T_JavaLangRecord, 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_JavaUtilList, T_JavaUtilMap, T_JavaUtilObjects, T_JavaxInjectInject, T_JunitFrameworkAssert, T_LastWellKnownTypeId, T_long, T_null, T_OrgApacheCommonsLang3Validate, T_OrgApacheCommonsLangValidate, T_OrgEclipseCoreRuntimeAssert, T_OrgJunitAssert, T_OrgJunitJupiterApiAssertions, T_OrgJunitJupiterParamsProviderMethodSource, T_OrgSpringframeworkBeansFactoryAnnotationAutowired, T_short, T_undefined, T_void, UNBOXING -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidabort(int abortLevel, CategorizedProblem problem) voidaddLocalType(LocalTypeBinding localTypeBinding) voidaddSyntheticArgument(LocalVariableBinding actualOuterLocalVariable) addSyntheticArgument(ReferenceBinding enclosingType) analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) Argument[]booleanintbody()intvoidensureSyntheticOuterAccess(SourceTypeBinding targetEnclosing) voidgenerateCode(ClassFile classFile) voidgenerateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Every expression is responsible for generating its implicit conversion when necessary.voidgenerateCode(ClassScope classScope, ClassFile classFile) getScope()getSyntheticArgument(LocalVariableBinding actualOuterLocalVariable) booleanbooleanisCompatibleWith(TypeBinding targetType, Scope skope) booleanisPertinentToApplicability(TypeBinding targetType, MethodBinding method) booleanisPotentiallyCompatibleWith(TypeBinding targetType, Scope skope) booleanbooleanbooleankosherDescriptor(Scope currentScope, MethodBinding sam, boolean shouldChatter) protected FunctionalExpressionoriginal()printExpression(int tab, StringBuilder output) printExpression(int tab, StringBuilder output, boolean makeShort) booleanreportShapeError(TypeBinding targetType, Scope skope) resolveExpressionExpecting(TypeBinding targetType, Scope skope, InferenceContext18 context) Get a resolved copy of this lambda for use by type inference, as to avoid spilling any premature type results into the original lambda.resolveType(BlockScope blockScope, boolean skipKosherCheck) voidresolveTypeWithBindings(LocalVariableBinding[] bindings, BlockScope blockScope, boolean skipKosherCheck) voidreturnsExpression(Expression expression, TypeBinding resultType) voidsetArguments(Argument[] arguments) voidsetArrowPosition(int arrowPosition) voidbooleansIsMoreSpecific(TypeBinding s, TypeBinding t, Scope skope) voidvoidtraverse(ASTVisitor visitor, BlockScope blockScope) Traverse an expression in the context of a blockScopestatic voidupdateLocalTypesInMethod(MethodBinding method, Scope.Substitutor substor, Substitution subst) Methods inherited from class FunctionalExpression
cleanUp, expectedType, getExpressionContext, getRequiredBridges, invocationTargetType, isBoxingCompatibleWith, isFunctionalType, isPolyExpression, isPolyExpression, nullStatus, recordFunctionalType, reportSamProblem, resolveType, setCompilationResult, setExpectedType, setExpressionContextMethods inherited from class Expression
analyseCode, buildStringForConcatenation, checkCastTypesCompatibility, checkNPE, checkNPE, checkNPEbyUnboxing, checkUnsafeCast, computeConversion, computeNullStatus, forcedToBeRaw, generateCode, generateOptimizedBoolean, generateOptimizedStringConcatenation, generateOptimizedStringConcatenationCreation, getDirectBinding, getPolyExpressions, hasSideEffects, isCompactableOperation, isConstantValueOfTypeAssignableToType, isConstantValueRepresentable, isExactMethodReference, isPolyExpression, isTrulyExpression, isTypeReference, localVariableBinding, markAsNonNull, nullAnnotatedVariableBinding, nullStatus, optimizedBooleanConstant, optimizedNullComparisonConstant, postConversionType, print, printStatement, resolve, resolveType, resolveTypeExpecting, resolveTypeExpectingWithBindings, resolveTypeWithBindings, statementExpression, tagAsNeedCheckCast, tagAsUnnecessaryCast, toTypeReference, traverse, updateFlowOnBooleanResultMethods inherited from class Statement
analyseArguments, bindingsWhenComplete, bindingsWhenFalse, bindingsWhenTrue, branchChainTo, breaksOut, checkAgainstNullTypeAnnotation, checkAgainstNullTypeAnnotation, complainIfUnreachable, completesByContinue, containsPatternVariable, containsPatternVariable, continuesAtOuterLabel, doesNotCompleteNormally, enclosingSwitchExpression, findConstructorBinding, generateArguments, isBoxingCompatible, isEmptyBlock, isKnowDeadCodePattern, isValidJavaStatement, resolveWithBindingsMethods inherited from class ASTNode
acceptPotentiallyCompatibleMethods, checkingPotentialCompatibility, checkInvocationArguments, concreteStatement, copyRecordComponentAnnotations, copySE8AnnotationsToType, getRelevantAnnotations, handleNonNullByDefault, isFieldUseDeprecated, isImplicitThis, isMethodUseDeprecated, isQualifiedSuper, isSuper, isThis, isType, isTypeUseDeprecated, isUnqualifiedSuper, printAnnotations, printIndent, printModifiers, receiverIsImplicitThis, resolveAnnotations, resolveAnnotations, resolveAnnotations, resolveDeprecatedAnnotations, resolveNullDefaultAnnotations, resolvePolyExpressionArguments, resolveStatements, sourceEnd, sourceStart, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface IPolyExpression
expectedType, getExpressionContext, getPolyExpressions, invocationTargetType, isBoxingCompatibleWith, isFunctionalType, isPolyExpression, isPolyExpression, resolveType, setExpectedType, setExpressionContextMethods inherited from interface TypeOrLambda
addSyntheticArgumentsBeyondEarlyConstructionContext
-
Field Details
-
arguments
-
arrowPosition
public int arrowPosition -
body
-
hasParentheses
public boolean hasParentheses -
scope
-
original
-
outerLocalVariables
-
mapSyntheticEnclosingTypes
-
hasOuterClassMemberReference
public boolean hasOuterClassMemberReference -
resultExpressions
-
inferenceContext
-
hasVarTypedArguments
public boolean hasVarTypedArguments
-
-
Constructor Details
-
LambdaExpression
-
-
Method Details
-
setArguments
-
arguments
-
argumentTypes
-
setBody
-
body
-
resultExpressions
-
setArrowPosition
public void setArrowPosition(int arrowPosition) -
arrowPosition
public int arrowPosition() -
original
-
generateCode
Description copied from class:ExpressionEvery expression is responsible for generating its implicit conversion when necessary.- Overrides:
generateCodein classExpression- Parameters:
currentScope- org.eclipse.jdt.internal.compiler.lookup.BlockScopecodeStream- org.eclipse.jdt.internal.compiler.codegen.CodeStreamvalueRequired- boolean
-
kosherDescriptor
- Overrides:
kosherDescriptorin classFunctionalExpression
-
resolveTypeWithBindings
public void resolveTypeWithBindings(LocalVariableBinding[] bindings, BlockScope blockScope, boolean skipKosherCheck) -
resolveType
- Overrides:
resolveTypein classFunctionalExpression
-
argumentsTypeElided
public boolean argumentsTypeElided()- Overrides:
argumentsTypeElidedin classFunctionalExpression
-
analyseCode
- Overrides:
analyseCodein classExpression
-
isPertinentToApplicability
- Specified by:
isPertinentToApplicabilityin interfaceIPolyExpression- Overrides:
isPertinentToApplicabilityin classFunctionalExpression
-
isVoidCompatible
public boolean isVoidCompatible() -
isValueCompatible
public boolean isValueCompatible() -
printExpression
- Specified by:
printExpressionin classExpression
-
printExpression
- Overrides:
printExpressionin classExpression
-
expectedResultType
-
traverse
Description copied from class:ExpressionTraverse an expression in the context of a blockScope- Overrides:
traversein classExpression
-
getScope
-
isPotentiallyCompatibleWith
- Specified by:
isPotentiallyCompatibleWithin interfaceIPolyExpression- Overrides:
isPotentiallyCompatibleWithin classExpression
-
reportShapeError
-
isCompatibleWith
- Specified by:
isCompatibleWithin interfaceIPolyExpression- Overrides:
isCompatibleWithin classExpression
-
resolveExpressionExpecting
public LambdaExpression resolveExpressionExpecting(TypeBinding targetType, Scope skope, InferenceContext18 context) Get a resolved copy of this lambda for use by type inference, as to avoid spilling any premature type results into the original lambda.- Specified by:
resolveExpressionExpectingin interfaceIPolyExpression- Overrides:
resolveExpressionExpectingin classExpression- Parameters:
targetType- the target functional type against which inference is attempted, must be a non-null valid functional type- Returns:
- a resolved copy of 'this' or null if significant errors where encountered
-
sIsMoreSpecific
- Specified by:
sIsMoreSpecificin interfaceIPolyExpression- Overrides:
sIsMoreSpecificin classExpression
-
returnsExpression
-
compilationResult
- Specified by:
compilationResultin interfaceReferenceContext
-
abort
- Specified by:
abortin interfaceReferenceContext
-
getCompilationUnitDeclaration
- Specified by:
getCompilationUnitDeclarationin interfaceReferenceContext
-
hasErrors
public boolean hasErrors()- Specified by:
hasErrorsin interfaceReferenceContext
-
tagAsHavingErrors
public void tagAsHavingErrors()- Specified by:
tagAsHavingErrorsin interfaceReferenceContext
-
getThrownExceptions
-
generateCode
-
generateCode
-
addSyntheticArgument
-
addSyntheticArgument
-
ensureSyntheticOuterAccess
- Specified by:
ensureSyntheticOuterAccessin interfaceTypeOrLambda
-
getSyntheticArgument
-
getMethodBinding
- Overrides:
getMethodBindingin classFunctionalExpression
-
diagnosticsSourceEnd
public int diagnosticsSourceEnd()- Overrides:
diagnosticsSourceEndin classFunctionalExpression
-
getMarkerInterfaces
-
getTypeBinding
-
addLocalType
-
updateLocalTypesInMethod
public static void updateLocalTypesInMethod(MethodBinding method, Scope.Substitutor substor, Substitution subst)
-