public class LambdaExpr extends Expression implements NodeWithParameters<LambdaExpr>
(a, b) -> a + b
a -> ...
(Long a) -> { println(a); }
The parameters are on the left side of the ->.
If a parameter uses type inference (it has no type specified) then its type is set to UnknownType.
If they are in ( ), "isEnclosingParameters" is true.
The body is to the right of the ->.
The body is either a BlockStmt when it is in { } braces, or an ExpressionStmt when it is not in braces.
Node.BreadthFirstIterator, Node.DirectChildrenIterator, Node.ObserverRegistrationMode, Node.ParentsVisitor, Node.Parsedness, Node.PostOrderIterator, Node.PreOrderIterator, Node.TreeTraversalEXCLUDE_ENCLOSED_EXPR, IS_NOT_ENCLOSED_EXPRABSOLUTE_BEGIN_LINE, ABSOLUTE_END_LINE, LINE_SEPARATOR_KEY, NODE_BY_BEGIN_POSITION, PHANTOM_KEY, prettyPrinterNoCommentsConfiguration, PRINTER_KEY, SYMBOL_RESOLVER_KEY| Constructor and Description |
|---|
LambdaExpr() |
LambdaExpr(NodeList<Parameter> parameters,
BlockStmt body)
Creates a zero or multi-parameter lambda expression with its parameters wrapped in ( ).
|
LambdaExpr(NodeList<Parameter> parameters,
Expression body)
Creates a zero or multi-parameter lambda expression with its parameters wrapped in ( ).
|
LambdaExpr(NodeList<Parameter> parameters,
Statement body,
boolean isEnclosingParameters) |
LambdaExpr(Parameter parameter,
BlockStmt body)
Creates a single parameter lambda expression.
|
LambdaExpr(Parameter parameter,
Expression body)
Creates a single parameter lambda expression.
|
LambdaExpr(TokenRange tokenRange,
NodeList<Parameter> parameters,
Statement body,
boolean isEnclosingParameters)
This constructor is used by the parser and is considered private.
|
| Modifier and Type | Method and Description |
|---|---|
<R,A> R |
accept(GenericVisitor<R,A> v,
A arg)
Accept method for visitor support.
|
<A> void |
accept(VoidVisitor<A> v,
A arg)
Accept method for visitor support.
|
LambdaExpr |
asLambdaExpr() |
LambdaExpr |
clone() |
Statement |
getBody() |
Optional<Expression> |
getExpressionBody() |
LambdaExprMetaModel |
getMetaModel() |
NodeList<Parameter> |
getParameters() |
void |
ifLambdaExpr(Consumer<LambdaExpr> action) |
boolean |
isEnclosingParameters() |
boolean |
isExplicitlyTyped() |
boolean |
isLambdaExpr() |
boolean |
isPolyExpression()
See https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.2
|
boolean |
remove(Node node) |
boolean |
replace(Node node,
Node replacementNode) |
LambdaExpr |
setBody(Statement body) |
LambdaExpr |
setEnclosingParameters(boolean isEnclosingParameters) |
LambdaExpr |
setParameters(NodeList<Parameter> parameters) |
Optional<LambdaExpr> |
toLambdaExpr() |
appearsInAssignmentContext, appearsInInvocationContext, asAnnotationExpr, asArrayAccessExpr, asArrayCreationExpr, asArrayInitializerExpr, asAssignExpr, asBinaryExpr, asBooleanLiteralExpr, asCastExpr, asCharLiteralExpr, asClassExpr, asConditionalExpr, asDoubleLiteralExpr, asEnclosedExpr, asFieldAccessExpr, asInstanceOfExpr, asIntegerLiteralExpr, asLiteralExpr, asLiteralStringValueExpr, asLongLiteralExpr, asMarkerAnnotationExpr, asMethodCallExpr, asMethodReferenceExpr, asNameExpr, asNormalAnnotationExpr, asNullLiteralExpr, asObjectCreationExpr, asPatternExpr, asRecordPatternExpr, asSingleMemberAnnotationExpr, asStringLiteralExpr, asSuperExpr, asSwitchExpr, asTextBlockLiteralExpr, asThisExpr, asTypeExpr, asTypePatternExpr, asUnaryExpr, asVariableDeclarationExpr, calculateResolvedType, elidesTypeArguments, ifAnnotationExpr, ifArrayAccessExpr, ifArrayCreationExpr, ifArrayInitializerExpr, ifAssignExpr, ifBinaryExpr, ifBooleanLiteralExpr, ifCastExpr, ifCharLiteralExpr, ifClassExpr, ifConditionalExpr, ifDoubleLiteralExpr, ifEnclosedExpr, ifFieldAccessExpr, ifInstanceOfExpr, ifIntegerLiteralExpr, ifLiteralExpr, ifLiteralStringValueExpr, ifLongLiteralExpr, ifMarkerAnnotationExpr, ifMethodCallExpr, ifMethodReferenceExpr, ifNameExpr, ifNormalAnnotationExpr, ifNullLiteralExpr, ifObjectCreationExpr, ifPatternExpr, ifRecordPatternExpr, ifSingleMemberAnnotationExpr, ifStringLiteralExpr, ifSuperExpr, ifSwitchExpr, ifTextBlockLiteralExpr, ifThisExpr, ifTypeExpr, ifTypePatternExpr, ifUnaryExpr, ifVariableDeclarationExpr, isAnnotationExpr, isArrayAccessExpr, isArrayCreationExpr, isArrayInitializerExpr, isAssignExpr, isAssignmentContext, isBinaryExpr, isBooleanLiteralExpr, isCastExpr, isCharLiteralExpr, isClassExpr, isConditionalExpr, isDoubleLiteralExpr, isEnclosedExpr, isFieldAccessExpr, isInstanceOfExpr, isIntegerLiteralExpr, isInvocationContext, isLiteralExpr, isLiteralStringValueExpr, isLongLiteralExpr, isMarkerAnnotationExpr, isMethodCallExpr, isMethodReferenceExpr, isNameExpr, isNormalAnnotationExpr, isNullLiteralExpr, isObjectCreationExpr, isPatternExpr, isQualified, isRecordPatternExpr, isSingleMemberAnnotationExpr, isStandaloneExpression, isStringLiteralExpr, isSuperExpr, isSwitchExpr, isTextBlockLiteralExpr, isThisExpr, isTypeExpr, isTypePatternExpr, isUnaryExpr, isVariableDeclarationExpr, toAnnotationExpr, toArrayAccessExpr, toArrayCreationExpr, toArrayInitializerExpr, toAssignExpr, toBinaryExpr, toBooleanLiteralExpr, toCastExpr, toCharLiteralExpr, toClassExpr, toConditionalExpr, toDoubleLiteralExpr, toEnclosedExpr, toFieldAccessExpr, toInstanceOfExpr, toIntegerLiteralExpr, toLiteralExpr, toLiteralStringValueExpr, toLongLiteralExpr, toMarkerAnnotationExpr, toMethodCallExpr, toMethodReferenceExpr, toNameExpr, toNormalAnnotationExpr, toNullLiteralExpr, toObjectCreationExpr, toPatternExpr, toRecordPatternExpr, toSingleMemberAnnotationExpr, toStringLiteralExpr, toSuperExpr, toSwitchExpr, toTextBlockLiteralExpr, toThisExpr, toTypeExpr, toTypePatternExpr, toUnaryExpr, toVariableDeclarationExpraddOrphanComment, containsData, createDefaultPrinter, createDefaultPrinter, customInitialization, equals, findAll, findAll, findAll, findByRange, findCompilationUnit, findData, findFirst, findFirst, findFirst, findRootNode, getAllContainedComments, getChildNodes, getChildNodesByType, getComment, getData, getDataKeys, getDefaultPrinterConfiguration, getLineEndingStyle, getLineEndingStyleOrDefault, getNodesByType, getOrphanComments, getParentNode, getParentNodeForChildren, getParsed, getPrinter, getPrinter, getRange, getSymbolResolver, getTokenRange, hashCode, hasScope, isAncestorOf, isPhantom, isRegistered, notifyPropertyChange, register, register, registerForSubtree, remove, removeComment, removeData, removeForced, removeOrphanComment, replace, setAsParentNodeOf, setAsParentNodeOf, setBlockComment, setComment, setData, setLineComment, setParentNode, setParsed, setRange, setTokenRange, stream, stream, toString, toString, tryAddImportToParentCompilationUnit, unregister, walk, walk, walkfinalize, getClass, notify, notifyAll, wait, wait, waitaddAndGetParameter, addAndGetParameter, addAndGetParameter, addAndGetParameter, addParameter, addParameter, addParameter, addParameter, getParameter, getParameterByName, getParameterByType, getParameterByType, hasParametersOfType, hasParametersOfType, setParameter, tryAddImportToParentCompilationUnitfindAncestor, findAncestor, findAncestor, hasParentNode, isDescendantOfcontainsWithin, containsWithinRange, getBegin, getEnd, hasRangepublic LambdaExpr()
public LambdaExpr(Parameter parameter, BlockStmt body)
public LambdaExpr(NodeList<Parameter> parameters, BlockStmt body)
public LambdaExpr(Parameter parameter, Expression body)
public LambdaExpr(NodeList<Parameter> parameters, Expression body)
public LambdaExpr(NodeList<Parameter> parameters, Statement body, boolean isEnclosingParameters)
public LambdaExpr(TokenRange tokenRange, NodeList<Parameter> parameters, Statement body, boolean isEnclosingParameters)
public NodeList<Parameter> getParameters()
getParameters in interface NodeWithParameters<LambdaExpr>public LambdaExpr setParameters(NodeList<Parameter> parameters)
setParameters in interface NodeWithParameters<LambdaExpr>public Statement getBody()
public LambdaExpr setBody(Statement body)
public <R,A> R accept(GenericVisitor<R,A> v, A arg)
Visitableaccept in interface VisitableR - the type of the return value of the visitorA - the type the user argument passed to the visitorv - the visitor implementationarg - the argument passed to the visitor (of type A)public <A> void accept(VoidVisitor<A> v, A arg)
Visitablepublic boolean isEnclosingParameters()
public LambdaExpr setEnclosingParameters(boolean isEnclosingParameters)
public Optional<Expression> getExpressionBody()
public LambdaExpr clone()
clone in class Expressionpublic LambdaExprMetaModel getMetaModel()
getMetaModel in class Expressionpublic boolean isLambdaExpr()
isLambdaExpr in class Expressionpublic LambdaExpr asLambdaExpr()
asLambdaExpr in class Expressionpublic void ifLambdaExpr(Consumer<LambdaExpr> action)
ifLambdaExpr in class Expressionpublic Optional<LambdaExpr> toLambdaExpr()
toLambdaExpr in class Expressionpublic boolean isPolyExpression()
ExpressionisPolyExpression in class Expressionpublic boolean isExplicitlyTyped()
Copyright © 2007–2024. All rights reserved.