Package org.eclipse.jdt.core.dom
Class GuardedPattern
- java.lang.Object
-
- org.eclipse.jdt.core.dom.ASTNode
-
- org.eclipse.jdt.core.dom.Expression
-
- org.eclipse.jdt.core.dom.Pattern
-
- org.eclipse.jdt.core.dom.GuardedPattern
-
public class GuardedPattern extends Pattern
GuardedPattern pattern AST node type.GuardedPattern: Pattern && Expression- Since:
- 3.27
- Restriction:
- This class is not intended to be referenced by clients.
- Restriction:
- This class is not intended to be instantiated by clients.
-
-
Field Summary
Fields Modifier and Type Field Description static ChildPropertyDescriptorEXPRESSION_PROPERTYThe "expression" structural property of this node type (child type:Expression).static ChildPropertyDescriptorPATTERN_PROPERTYThe "pattern" structural property of this node type (child type:Pattern).-
Fields inherited from class 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, 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, 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, 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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ExpressiongetExpression()Returns the conditional expression of this pattern, ornullif there is none (the "default:" case).PatterngetPattern()Returns the pattern of this Guarded Pattern, oremptyif there is none.List<SingleVariableDeclaration>patternVariables()Returns the list of pattern variablesstatic ListpropertyDescriptors(int apiLevel)Returns a list of structural property descriptors for this node type.static ListpropertyDescriptors(int apiLevel, boolean previewEnabled)Returns a list of structural property descriptors for this node type.voidsetExpression(Expression expression)Sets the conditional expression of this pattern, or clears it (turns it into the "default:" case).voidsetPattern(Pattern pattern)Sets the pattern of this switch case.-
Methods inherited from class org.eclipse.jdt.core.dom.Expression
resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxing
-
Methods inherited from class 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
-
-
-
-
Field Detail
-
PATTERN_PROPERTY
public static final ChildPropertyDescriptor PATTERN_PROPERTY
The "pattern" structural property of this node type (child type:Pattern). (added in JEP 406).
-
EXPRESSION_PROPERTY
public static final ChildPropertyDescriptor EXPRESSION_PROPERTY
The "expression" structural property of this node type (child type:Expression). (added in JEP 406).
-
-
Method Detail
-
patternVariables
public List<SingleVariableDeclaration> patternVariables()
Description copied from class:PatternReturns the list of pattern variables- Specified by:
patternVariablesin classPattern- Returns:
- the list of pattern variables
(element type:
SingleVariableDeclaration)
-
propertyDescriptors
public static List propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type. Clients must not modify the result.- Parameters:
apiLevel- the API level; one of theAST.JLS*constants- Returns:
- a list of property descriptors (element type:
StructuralPropertyDescriptor)
-
propertyDescriptors
public static List propertyDescriptors(int apiLevel, boolean previewEnabled)
Returns a list of structural property descriptors for this node type. Clients must not modify the result.- Parameters:
apiLevel- the API level; one of theAST.JLS*constantspreviewEnabled- the previewEnabled flag- Returns:
- a list of property descriptors (element type:
StructuralPropertyDescriptor) - Restriction:
- This method is not intended to be referenced by clients.
-
getExpression
public Expression getExpression()
Returns the conditional expression of this pattern, ornullif there is none (the "default:" case).- Returns:
- the expression node, or
nullif there is none
-
getPattern
public Pattern getPattern()
Returns the pattern of this Guarded Pattern, oremptyif there is none.- Returns:
- the pattern node
(element type:
Pattern) - Throws:
UnsupportedOperationException- if this operation is used other than JLS18UnsupportedOperationException- if this expression is used with previewEnabled flag as false- Restriction:
- This method is not intended to be referenced by clients as it is a part of Java preview feature.
-
setExpression
public void setExpression(Expression expression)
Sets the conditional expression of this pattern, or clears it (turns it into the "default:" case).- Parameters:
expression- the expression node, ornullto turn it into the "default:" case- Throws:
IllegalArgumentException- if:- the node belongs to a different AST
- the node already has a parent
- a cycle in would be created
-
setPattern
public void setPattern(Pattern pattern)
Sets the pattern of this switch case.- Parameters:
pattern-- Throws:
UnsupportedOperationException- if this operation is used not for JLS18UnsupportedOperationException- if this operation is used without previewEnabled- Restriction:
- This method is not intended to be referenced by clients.
-
-