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
,ReferenceContext
,TypeConstants
,TypeIds
,ProblemSeverities
- Direct Known Subclasses:
SelectionOnLambdaExpression
public class LambdaExpression
extends FunctionalExpression
implements IPolyExpression, ReferenceContext, ProblemSeverities
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeConstants
TypeConstants.BoundCheckStatus, TypeConstants.CloseMethodRecord, TypeConstants.DangerousMethod
-
Field Summary
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.FunctionalExpression
actualMethodBinding, binding, bootstrapMethodNumber, compilationResult, descriptor, enclosingScope, expectedType, expressionContext, hasDescripterProblem, isSerializable, ordinal, shouldCaptureInstance, silentErrorHandlingPolicy
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Expression
constant, implicitConversion, NO_EXPRESSIONS, resolvedType, statementEnd
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, inModule, InsideExpressionStatement, InsideJavadoc, INVOCATION_ARGUMENT_OK, INVOCATION_ARGUMENT_UNCHECKED, INVOCATION_ARGUMENT_WILDCARD, IsAdditionalDeclarator, IsAnnotationDefaultValue, IsAnonymousType, IsAnySubRoutineEscaping, IsArgument, IsCanonicalConstructor, IsCapturedOuterLocal, IsCompoundAssigned, IsDefaultConstructor, IsDiamond, IsElseIfStatement, IsElseStatementUnreachable, IsForeachElementVariable, IsImplicit, IsImplicitThis, IsImplicitUnit, IsLocalDeclarationReachable, IsLocalType, IsMemberType, IsNonNull, IsReachable, IsRecovered, IsReturnedValue, IsSecondaryType, IsSecretYieldValueUsage, IsStrictlyAssigned, IsSubRoutineEscaping, IsSuperType, IsSynchronized, IsSynthetic, IsThenStatementUnreachable, IsTryBlockExiting, IsTypeElided, IsUnionType, IsUsedInPatternGuard, IsUsefulEmptyStatement, IsVarArgs, LabelUsed, NeededScope, NeedFreeReturn, NeedReceiverGenericCast, NO_ARGUMENTS, NO_RECORD_COMPONENTS, 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.problem.ProblemSeverities
Abort, AbortCompilation, AbortCompilationUnit, AbortMethod, AbortType, CoreSeverityMASK, Error, Fatal, Ignore, Info, InternalError, Optional, SecondaryError, Warning
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, API, ASSERT_CLASS, ASSERT_FALSE, ASSERT_NOTNULL, ASSERT_NULL, ASSERT_TRUE, ASSERTIONS_CLASS, AUTOMATIC_MODULE_NAME, AUTOWIRED, 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__RETURN_TYPE, DEFAULT_LOCATION__TYPE_ARGUMENT, DEFAULT_LOCATION__TYPE_BOUND, DEFAULT_LOCATION__TYPE_PARAMETER, DESERIALIZE_LAMBDA, DOM, DOUBLE, ECLIPSE, EQUALS, ESSENTIAL_API, FACTORY, FLOAT, FLUENT_RESOURCE_CLASSES, FOR_REMOVAL, FRAMEWORK, GET, 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, JAVA, JAVA_BASE, 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_INCOMPATIBLECLASSCHANGEERROR, 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_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_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, 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, 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, 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, ZIP
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeIds
BitAnyNullAnnotation, BitAutoCloseable, BitCloseable, BitCollection, BitList, BitMap, 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_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_JdkInternalPreviewFeature, 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
ConstructorDescriptionLambdaExpression(CompilationResult compilationResult, boolean assistNode)
LambdaExpression(CompilationResult compilationResult, boolean assistNode, boolean requiresGenericSignature)
-
Method Summary
Modifier and TypeMethodDescriptionvoid
abort(int abortLevel, CategorizedProblem problem)
void
addLocalType(LocalTypeBinding localTypeBinding)
void
addSyntheticArgument(LocalVariableBinding actualOuterLocalVariable)
analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
Argument[]
boolean
int
body()
int
findGroundTargetTypeForElidedLambda(BlockScope blockScope, ParameterizedTypeBinding withWildCards)
void
generateCode(ClassFile classFile)
void
generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
Every expression is responsible for generating its implicit conversion when necessary.void
generateCode(ClassScope classScope, ClassFile classFile)
getScope()
getSyntheticArgument(LocalVariableBinding actualOuterLocalVariable)
boolean
boolean
isCompatibleWith(TypeBinding targetType, Scope skope)
boolean
isPertinentToApplicability(TypeBinding targetType, MethodBinding method)
boolean
isPotentiallyCompatibleWith(TypeBinding targetType, Scope skope)
boolean
boolean
boolean
kosherDescriptor(Scope currentScope, MethodBinding sam, boolean shouldChatter)
protected FunctionalExpression
original()
printExpression(int tab, StringBuffer output)
printExpression(int tab, StringBuffer output, boolean makeShort)
boolean
reportShapeError(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)
void
returnsExpression(Expression expression, TypeBinding resultType)
void
setArguments(Argument[] arguments)
void
setArrowPosition(int arrowPosition)
void
boolean
sIsMoreSpecific(TypeBinding s, TypeBinding t, Scope skope)
void
void
tagAsHavingIgnoredMandatoryErrors(int problemId)
void
traverse(ASTVisitor visitor, BlockScope blockScope)
Traverse an expression in the context of a blockScopestatic void
updateLocalTypesInMethod(MethodBinding method, Scope.Substitutor substor, Substitution subst)
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.FunctionalExpression
cleanUp, expectedType, getExpressionContext, getRequiredBridges, invocationTargetType, isBoxingCompatibleWith, isFunctionalType, isPolyExpression, isPolyExpression, nullStatus, recordFunctionalType, reportSamProblem, resolveType, setCompilationResult, setExpectedType, setExpressionContext
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Expression
addPatternVariables, analyseCode, checkCastTypesCompatibility, checkNPE, checkNPE, checkNPEbyUnboxing, checkUnsafeCast, collectPatternVariablesToScope, computeConversion, computeNullStatus, forcedToBeRaw, generateCode, generateOptimizedBoolean, generateOptimizedStringConcatenation, generateOptimizedStringConcatenationCreation, getDirectBinding, getPatternVariableIntroduced, getPolyExpressions, isCompactableOperation, isConstantValueOfTypeAssignableToType, isConstantValueRepresentable, isExactMethodReference, isTrulyExpression, isTypeReference, localVariableBinding, markAsNonNull, nullAnnotatedVariableBinding, nullStatus, optimizedBooleanConstant, optimizedNullComparisonConstant, postConversionType, print, printStatement, resolve, resolveExpressionType, resolveType, resolveTypeExpecting, reusableJSRTarget, statementExpression, tagAsNeedCheckCast, tagAsUnnecessaryCast, toTypeReference, traverse, updateFlowOnBooleanResult
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement
addPatternVariablesWhenFalse, addPatternVariablesWhenTrue, analyseArguments, branchChainTo, breaksOut, canCompleteNormally, checkAgainstNullTypeAnnotation, complainIfUnreachable, completesByContinue, containsPatternVariable, continueCompletes, continuesAtOuterLabel, doesNotCompleteNormally, doNotReportUnreachable, findConstructorBinding, generateArguments, getPatternVariablesWhenFalse, getPatternVariablesWhenTrue, isBoxingCompatible, isEmptyBlock, isKnowDeadCodePattern, isValidJavaStatement, promotePatternVariablesIfApplicable, resolveWithPatternVariablesInScope
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.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, 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.ast.IPolyExpression
getExpressionContext, getPolyExpressions, invocationTargetType, isBoxingCompatibleWith, isFunctionalType, isPolyExpression, isPolyExpression, resolveType, setExpectedType, setExpressionContext
-
Field Details
-
arguments
-
arrowPosition
public int arrowPosition -
body
-
hasParentheses
public boolean hasParentheses -
scope
-
original
-
outerLocalVariables
-
text
public char[] text -
resultExpressions
-
inferenceContext
-
argumentsTypeVar
public boolean argumentsTypeVar
-
-
Constructor Details
-
LambdaExpression
public LambdaExpression(CompilationResult compilationResult, boolean assistNode, boolean requiresGenericSignature) -
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:Expression
Every expression is responsible for generating its implicit conversion when necessary.- Overrides:
generateCode
in classExpression
- Parameters:
currentScope
- org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScopecodeStream
- org.aspectj.org.eclipse.jdt.internal.compiler.codegen.CodeStreamvalueRequired
- boolean
-
kosherDescriptor
- Overrides:
kosherDescriptor
in classFunctionalExpression
-
resolveType
- Overrides:
resolveType
in classFunctionalExpression
-
findGroundTargetTypeForElidedLambda
public ReferenceBinding findGroundTargetTypeForElidedLambda(BlockScope blockScope, ParameterizedTypeBinding withWildCards) -
argumentsTypeElided
public boolean argumentsTypeElided()- Overrides:
argumentsTypeElided
in classFunctionalExpression
-
analyseCode
- Overrides:
analyseCode
in classExpression
-
isPertinentToApplicability
- Specified by:
isPertinentToApplicability
in interfaceIPolyExpression
- Overrides:
isPertinentToApplicability
in classFunctionalExpression
-
isVoidCompatible
public boolean isVoidCompatible() -
isValueCompatible
public boolean isValueCompatible() -
printExpression
- Specified by:
printExpression
in classExpression
-
printExpression
-
expectedResultType
-
traverse
Description copied from class:Expression
Traverse an expression in the context of a blockScope- Overrides:
traverse
in classExpression
-
getScope
-
isPotentiallyCompatibleWith
- Specified by:
isPotentiallyCompatibleWith
in interfaceIPolyExpression
- Overrides:
isPotentiallyCompatibleWith
in classExpression
-
reportShapeError
-
isCompatibleWith
- Specified by:
isCompatibleWith
in interfaceIPolyExpression
- Overrides:
isCompatibleWith
in 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:
resolveExpressionExpecting
in interfaceIPolyExpression
- Overrides:
resolveExpressionExpecting
in 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:
sIsMoreSpecific
in interfaceIPolyExpression
- Overrides:
sIsMoreSpecific
in classExpression
-
returnsExpression
-
compilationResult
- Specified by:
compilationResult
in interfaceReferenceContext
-
abort
- Specified by:
abort
in interfaceReferenceContext
-
getCompilationUnitDeclaration
- Specified by:
getCompilationUnitDeclaration
in interfaceReferenceContext
-
hasErrors
public boolean hasErrors()- Specified by:
hasErrors
in interfaceReferenceContext
-
tagAsHavingErrors
public void tagAsHavingErrors()- Specified by:
tagAsHavingErrors
in interfaceReferenceContext
-
tagAsHavingIgnoredMandatoryErrors
public void tagAsHavingIgnoredMandatoryErrors(int problemId)- Specified by:
tagAsHavingIgnoredMandatoryErrors
in interfaceReferenceContext
-
getThrownExceptions
-
generateCode
-
generateCode
-
addSyntheticArgument
-
getSyntheticArgument
public SyntheticArgumentBinding getSyntheticArgument(LocalVariableBinding actualOuterLocalVariable) -
getMethodBinding
- Overrides:
getMethodBinding
in classFunctionalExpression
-
diagnosticsSourceEnd
public int diagnosticsSourceEnd()- Overrides:
diagnosticsSourceEnd
in classFunctionalExpression
-
getMarkerInterfaces
-
getTypeBinding
-
addLocalType
-
updateLocalTypesInMethod
public static void updateLocalTypesInMethod(MethodBinding method, Scope.Substitutor substor, Substitution subst)
-