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 ChildPropertyDescriptor
EXPRESSION_PROPERTY
The "expression" structural property of this node type (child type:Expression
).static ChildPropertyDescriptor
PATTERN_PROPERTY
The "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, 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, 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 Expression
getExpression()
Returns the conditional expression of this pattern, ornull
if there is none (the "default:" case).Pattern
getPattern()
Returns the pattern of this Guarded Pattern, orempty
if there is none.List<SingleVariableDeclaration>
patternVariables()
Returns the list of pattern variablesstatic List
propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type.static List
propertyDescriptors(int apiLevel, boolean previewEnabled)
Returns a list of structural property descriptors for this node type.void
setExpression(Expression expression)
Sets the conditional expression of this pattern, or clears it (turns it into the "default:" case).void
setPattern(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:Pattern
Returns the list of pattern variables- Specified by:
patternVariables
in 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, ornull
if there is none (the "default:" case).- Returns:
- the expression node, or
null
if there is none
-
getPattern
public Pattern getPattern()
Returns the pattern of this Guarded Pattern, orempty
if there is none.- Returns:
- the pattern node
(element type:
Pattern
) - Throws:
UnsupportedOperationException
- if this operation is used other than JLS17UnsupportedOperationException
- 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, ornull
to 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 JLS17UnsupportedOperationException
- if this operation is used without previewEnabled- Restriction:
- This method is not intended to be referenced by clients.
-
-