org.aspectj.org.eclipse.jdt.internal.compiler.ast
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:
- ReferenceContext, TypeConstants, TypeIds, ProblemSeverities
- Direct Known Subclasses:
- SelectionOnLambdaExpression
public class LambdaExpression
- extends FunctionalExpression
- implements ReferenceContext, ProblemSeverities
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.FunctionalExpression |
actualMethodBinding, binding, bootstrapMethodNumber, compilationResult, descriptor, ellipsisArgument, enclosingScope, expectedType, expressionContext, resultExpressions, silentErrorHandlingPolicy |
| 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.problem.ProblemSeverities |
Abort, AbortCompilation, AbortCompilationUnit, AbortMethod, AbortType, Error, Fatal, Ignore, 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, 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 |
|
Method Summary |
void |
abort(int abortLevel,
CategorizedProblem problem)
|
void |
addSyntheticArgument(LocalVariableBinding actualOuterLocalVariable)
|
FlowInfo |
analyseCode(BlockScope currentScope,
FlowContext flowContext,
FlowInfo flowInfo)
|
Argument[] |
arguments()
|
boolean |
argumentsTypeElided()
|
TypeBinding[] |
argumentTypes()
|
int |
arrowPosition()
|
Statement |
body()
|
CompilationResult |
compilationResult()
|
int |
diagnosticsSourceEnd()
|
TypeBinding |
expectedResultType()
|
ReferenceBinding |
findGroundTargetTypeForElidedLambda(BlockScope blockScope,
ParameterizedTypeBinding withWildCards)
|
void |
generateCode(BlockScope currentScope,
CodeStream codeStream,
boolean valueRequired)
Every expression is responsible for generating its implicit conversion when necessary. |
void |
generateCode(ClassFile classFile)
|
void |
generateCode(ClassScope classScope,
ClassFile classFile)
|
CompilationUnitDeclaration |
getCompilationUnitDeclaration()
|
TypeBinding[] |
getMarkerInterfaces()
|
MethodBinding |
getMethodBinding()
|
LambdaExpression |
getResolvedCopyForInferenceTargeting(TypeBinding targetType)
Get a resolved copy of this lambda for use by type inference, as to avoid spilling any premature
type results into the original lambda. |
MethodScope |
getScope()
|
SyntheticArgumentBinding |
getSyntheticArgument(LocalVariableBinding actualOuterLocalVariable)
|
java.util.Set<TypeBinding> |
getThrownExceptions()
|
ReferenceBinding |
getTypeBinding()
|
boolean |
hasErrors()
|
boolean |
isCompatibleWith(TypeBinding left,
Scope someScope)
|
boolean |
isPertinentToApplicability(TypeBinding targetType,
MethodBinding method)
|
boolean |
isValueCompatible()
|
boolean |
isVoidCompatible()
|
boolean |
kosherDescriptor(Scope currentScope,
MethodBinding sam,
boolean shouldChatter)
|
protected FunctionalExpression |
original()
|
java.lang.StringBuffer |
printExpression(int tab,
java.lang.StringBuffer output)
|
java.lang.StringBuffer |
printExpression(int tab,
java.lang.StringBuffer output,
boolean makeShort)
|
TypeBinding |
resolveType(BlockScope blockScope)
Resolve the type of this expression in the context of a blockScope |
Expression[] |
resultExpressions()
|
void |
returnsExpression(Expression expression,
TypeBinding resultType)
|
void |
setArguments(Argument[] arguments)
|
void |
setArrowPosition(int arrowPosition)
|
void |
setBody(Statement body)
|
boolean |
sIsMoreSpecific(TypeBinding s,
TypeBinding t,
Scope skope)
|
void |
tagAsHavingErrors()
|
void |
tagAsHavingIgnoredMandatoryErrors(int problemId)
|
void |
throwsException(TypeBinding exceptionType)
|
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.FunctionalExpression |
checkAgainstFinalTargetType, expectedType, getExpressionContext, getRequiredBridges, invocationTargetType, isBoxingCompatibleWith, isPolyExpression, isPolyExpression, nullStatus, recordFunctionalType, reportSamProblem, setCompilationResult, setExpectedType, setExpressionContext, tagAsEllipsisArgument |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Expression |
analyseCode, checkCastTypesCompatibility, checkNPE, checkNPEbyUnboxing, checkUnsafeCast, computeConversion, forcedToBeRaw, generateCode, generateOptimizedBoolean, generateOptimizedStringConcatenation, generateOptimizedStringConcatenationCreation, getDirectBinding, isAssignmentCompatible, isCompactableOperation, isConstantValueOfTypeAssignableToType, isConstantValueRepresentable, isExactMethodReference, isTypeReference, localVariableBinding, markAsNonNull, nullAnnotatedVariableBinding, nullStatus, optimizedBooleanConstant, postConversionType, print, printStatement, resolve, resolveType, resolveTypeExpecting, reusableJSRTarget, statementExpression, tagAsNeedCheckCast, tagAsUnnecessaryCast, toTypeReference, traverse |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement |
analyseArguments, branchChainTo, checkAgainstNullTypeAnnotation, complainIfUnreachable, findConstructorBinding, generateArguments, isBoxingCompatible, isEmptyBlock, isKnowDeadCodePattern, isValidJavaStatement, 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 |
arguments
public Argument[] arguments
arrowPosition
public int arrowPosition
body
public Statement body
hasParentheses
public boolean hasParentheses
scope
public MethodScope scope
isSerializable
public boolean isSerializable
original
public LambdaExpression original
outerLocalVariables
public SyntheticArgumentBinding[] outerLocalVariables
shouldCaptureInstance
public boolean shouldCaptureInstance
ordinal
public int ordinal
text
public char[] text
LambdaExpression
public LambdaExpression(CompilationResult compilationResult,
boolean assistNode)
setArguments
public void setArguments(Argument[] arguments)
arguments
public Argument[] arguments()
argumentTypes
public TypeBinding[] argumentTypes()
setBody
public void setBody(Statement body)
body
public Statement body()
resultExpressions
public Expression[] resultExpressions()
setArrowPosition
public void setArrowPosition(int arrowPosition)
arrowPosition
public int arrowPosition()
original
protected FunctionalExpression original()
generateCode
public void generateCode(BlockScope currentScope,
CodeStream codeStream,
boolean valueRequired)
- Description copied from class:
Expression
- Every expression is responsible for generating its implicit conversion when necessary.
- Overrides:
generateCode in class Expression
- Parameters:
currentScope - org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScopecodeStream - org.aspectj.org.eclipse.jdt.internal.compiler.codegen.CodeStreamvalueRequired - boolean
kosherDescriptor
public boolean kosherDescriptor(Scope currentScope,
MethodBinding sam,
boolean shouldChatter)
- Overrides:
kosherDescriptor in class FunctionalExpression
resolveType
public TypeBinding resolveType(BlockScope blockScope)
- Description copied from class:
Expression
- Resolve the type of this expression in the context of a blockScope
- Overrides:
resolveType in class FunctionalExpression
- Returns:
- Return the actual type of this expression after resolution
findGroundTargetTypeForElidedLambda
public ReferenceBinding findGroundTargetTypeForElidedLambda(BlockScope blockScope,
ParameterizedTypeBinding withWildCards)
argumentsTypeElided
public boolean argumentsTypeElided()
- Overrides:
argumentsTypeElided in class FunctionalExpression
analyseCode
public FlowInfo analyseCode(BlockScope currentScope,
FlowContext flowContext,
FlowInfo flowInfo)
- Overrides:
analyseCode in class Expression
isPertinentToApplicability
public boolean isPertinentToApplicability(TypeBinding targetType,
MethodBinding method)
- Overrides:
isPertinentToApplicability in class FunctionalExpression
isVoidCompatible
public boolean isVoidCompatible()
isValueCompatible
public boolean isValueCompatible()
printExpression
public java.lang.StringBuffer printExpression(int tab,
java.lang.StringBuffer output)
- Specified by:
printExpression in class Expression
printExpression
public java.lang.StringBuffer printExpression(int tab,
java.lang.StringBuffer output,
boolean makeShort)
expectedResultType
public TypeBinding expectedResultType()
traverse
public void traverse(ASTVisitor visitor,
BlockScope blockScope)
- Description copied from class:
Expression
- Traverse an expression in the context of a blockScope
- Overrides:
traverse in class Expression
getScope
public MethodScope getScope()
isCompatibleWith
public boolean isCompatibleWith(TypeBinding left,
Scope someScope)
- Overrides:
isCompatibleWith in class Expression
getResolvedCopyForInferenceTargeting
public LambdaExpression getResolvedCopyForInferenceTargeting(TypeBinding targetType)
- Get a resolved copy of this lambda for use by type inference, as to avoid spilling any premature
type results into the original lambda.
- 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
public boolean sIsMoreSpecific(TypeBinding s,
TypeBinding t,
Scope skope)
- Overrides:
sIsMoreSpecific in class Expression
returnsExpression
public void returnsExpression(Expression expression,
TypeBinding resultType)
compilationResult
public CompilationResult compilationResult()
- Specified by:
compilationResult in interface ReferenceContext
abort
public void abort(int abortLevel,
CategorizedProblem problem)
- Specified by:
abort in interface ReferenceContext
getCompilationUnitDeclaration
public CompilationUnitDeclaration getCompilationUnitDeclaration()
- Specified by:
getCompilationUnitDeclaration in interface ReferenceContext
hasErrors
public boolean hasErrors()
- Specified by:
hasErrors in interface ReferenceContext
tagAsHavingErrors
public void tagAsHavingErrors()
- Specified by:
tagAsHavingErrors in interface ReferenceContext
tagAsHavingIgnoredMandatoryErrors
public void tagAsHavingIgnoredMandatoryErrors(int problemId)
- Specified by:
tagAsHavingIgnoredMandatoryErrors in interface ReferenceContext
throwsException
public void throwsException(TypeBinding exceptionType)
getThrownExceptions
public java.util.Set<TypeBinding> getThrownExceptions()
generateCode
public void generateCode(ClassScope classScope,
ClassFile classFile)
generateCode
public void generateCode(ClassFile classFile)
addSyntheticArgument
public void addSyntheticArgument(LocalVariableBinding actualOuterLocalVariable)
getSyntheticArgument
public SyntheticArgumentBinding getSyntheticArgument(LocalVariableBinding actualOuterLocalVariable)
getMethodBinding
public MethodBinding getMethodBinding()
- Overrides:
getMethodBinding in class FunctionalExpression
diagnosticsSourceEnd
public int diagnosticsSourceEnd()
- Overrides:
diagnosticsSourceEnd in class FunctionalExpression
getMarkerInterfaces
public TypeBinding[] getMarkerInterfaces()
getTypeBinding
public ReferenceBinding getTypeBinding()