Klasse LambdaExpression
LambdaExpression:
Identifier -> Body
( [ Identifier { , Identifier } ] ) -> Body
( [ FormalParameter { , FormalParameter } ] ) -> Body
The first two forms use VariableDeclarationFragment for the parameter or parameters,
while the third form uses SingleVariableDeclaration.
The Body can be either a Block or an Expression.
- Seit:
- 3.10
-
Feldübersicht
FelderModifizierer und TypFeldBeschreibungstatic final ChildPropertyDescriptorThe "body" structural property of this node type (child type:ASTNode, must be either aBlockor anExpression).static final ChildListPropertyDescriptorThe "parameters" structural property of this node type (element type:VariableDeclaration).static final SimplePropertyDescriptorThe "parentheses" structural property of this node type (type:Boolean).Von Klasse geerbte Felder org.aspectj.org.eclipse.jdt.core.dom.ASTNode
ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CASE_DEFAULT_EXPRESSION, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENHANCED_FOR_WITH_RECORD_PATTERN, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, GUARDED_PATTERN, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, JAVADOC_REGION, JAVADOC_TEXT_ELEMENT, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, MODULE_DECLARATION, MODULE_MODIFIER, MODULE_QUALIFIED_NAME, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NULL_PATTERN, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, PATTERN_INSTANCEOF_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECORD_PATTERN, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TAG_PROPERTY, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, TYPE_PATTERN, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT -
Methodenübersicht
Modifizierer und TypMethodeBeschreibunggetBody()Returns the body of this lambda expression.booleanReturns whether parentheses around the parameters are present or not.Returns the live ordered list of formal parameters of this lambda expression.static ListpropertyDescriptors(int apiLevel) Returns a list of structural property descriptors for this node type.Resolves and returns the binding for the lambda expressionvoidSets the body of this lambda expression.voidsetParentheses(boolean hasParentheses) Sets whether this lambda expression has parentheses around its parameters or not.Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.core.dom.Expression
resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxingVon Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.core.dom.ASTNode
accept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
-
Felddetails
-
PARENTHESES_PROPERTY
The "parentheses" structural property of this node type (type:Boolean).Note that parentheses are required unless
parameters()contains just a singleVariableDeclarationFragment. ASTRewrite may ignore this property if necessary. -
PARAMETERS_PROPERTY
The "parameters" structural property of this node type (element type:VariableDeclaration).Note that all elements must be of the same type, either all
SingleVariableDeclarationor allVariableDeclarationFragment. -
BODY_PROPERTY
The "body" structural property of this node type (child type:ASTNode, must be either aBlockor anExpression).
-
-
Methodendetails
-
propertyDescriptors
Returns a list of structural property descriptors for this node type. Clients must not modify the result.- Parameter:
apiLevel- the API level; one of the AST.JLS* constants- Gibt zurück:
- a list of property descriptors (element type:
StructuralPropertyDescriptor)
-
hasParentheses
public boolean hasParentheses()Returns whether parentheses around the parameters are present or not.Note that parentheses are required unless
parameters()contains just a singleVariableDeclarationFragment. ASTRewrite may ignore this property if necessary.- Gibt zurück:
trueif this lambda expression has parentheses around its parameters andfalseotherwise
-
setParentheses
public void setParentheses(boolean hasParentheses) Sets whether this lambda expression has parentheses around its parameters or not.Note that parentheses are required unless
parameters()contains just a singleVariableDeclarationFragment. ASTRewrite may ignore this property if necessary.- Parameter:
hasParentheses-trueif this lambda expression has parentheses around its parameters andfalseotherwise
-
parameters
Returns the live ordered list of formal parameters of this lambda expression. Note that all elements must be of the same type, either- all
SingleVariableDeclaration(explicit type), or - all
VariableDeclarationFragment(inferred type).
- Gibt zurück:
- the live list of formal parameters of this lambda expression
(element type:
VariableDeclaration)
- all
-
getBody
Returns the body of this lambda expression.- Gibt zurück:
- the lambda expression body, which can be either a
Blockor anExpression
-
setBody
Sets the body of this lambda expression.- Parameter:
body- a block node or an expression node- Löst aus:
IllegalArgumentException- if:- the node belongs to a different AST
- the node already has a parent
- a cycle in would be created
- body is neither a
Blocknor anExpression
-
resolveMethodBinding
Resolves and returns the binding for the lambda expressionNote that bindings are generally unavailable unless requested when the AST is being built.
- Gibt zurück:
- the binding, or
nullif the binding cannot be resolved
-