public class RecordPatternExpr extends PatternExpr implements NodeWithFinalModifier<RecordPatternExpr>
Pattern
TypePattern
RecordPattern
RecordPattern:
ReferenceType ( [PatternList] )
PatternList
Pattern {, Pattern }
record Pair(Object x, Object y) {}
Pair p = new Pair(42, 42);
if (p instanceof Pair(String s, String t)) {
System.out.println(s + ", " + t);
} else {
System.out.println("Not a pair of strings");
}
PatternExpr,
TypePatternExpr,
JEP 440: Record PatternsNode.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 |
|---|
RecordPatternExpr() |
RecordPatternExpr(NodeList<Modifier> modifiers,
Type type,
NodeList<PatternExpr> patternList) |
RecordPatternExpr(TokenRange tokenRange,
NodeList<Modifier> modifiers,
Type type,
NodeList<PatternExpr> patternList)
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.
|
RecordPatternExpr |
asRecordPatternExpr() |
RecordPatternExpr |
clone() |
RecordPatternExprMetaModel |
getMetaModel() |
NodeList<Modifier> |
getModifiers()
Return the modifiers of this variable declaration.
|
NodeList<PatternExpr> |
getPatternList() |
ReferenceType |
getType()
The type of RecordPatternExpr must always be a reference type.
|
void |
ifRecordPatternExpr(Consumer<RecordPatternExpr> action) |
boolean |
isRecordPatternExpr() |
boolean |
remove(Node node) |
boolean |
replace(Node node,
Node replacementNode) |
RecordPatternExpr |
setModifiers(NodeList<Modifier> modifiers) |
RecordPatternExpr |
setPatternList(NodeList<PatternExpr> patternList) |
Optional<RecordPatternExpr> |
toRecordPatternExpr() |
asPatternExpr, ifPatternExpr, isPatternExpr, setType, toPatternExprappearsInAssignmentContext, appearsInInvocationContext, asAnnotationExpr, asArrayAccessExpr, asArrayCreationExpr, asArrayInitializerExpr, asAssignExpr, asBinaryExpr, asBooleanLiteralExpr, asCastExpr, asCharLiteralExpr, asClassExpr, asConditionalExpr, asDoubleLiteralExpr, asEnclosedExpr, asFieldAccessExpr, asInstanceOfExpr, asIntegerLiteralExpr, asLambdaExpr, asLiteralExpr, asLiteralStringValueExpr, asLongLiteralExpr, asMarkerAnnotationExpr, asMethodCallExpr, asMethodReferenceExpr, asNameExpr, asNormalAnnotationExpr, asNullLiteralExpr, asObjectCreationExpr, 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, ifLambdaExpr, ifLiteralExpr, ifLiteralStringValueExpr, ifLongLiteralExpr, ifMarkerAnnotationExpr, ifMethodCallExpr, ifMethodReferenceExpr, ifNameExpr, ifNormalAnnotationExpr, ifNullLiteralExpr, ifObjectCreationExpr, 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, isLambdaExpr, isLiteralExpr, isLiteralStringValueExpr, isLongLiteralExpr, isMarkerAnnotationExpr, isMethodCallExpr, isMethodReferenceExpr, isNameExpr, isNormalAnnotationExpr, isNullLiteralExpr, isObjectCreationExpr, isPolyExpression, isQualified, 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, toLambdaExpr, toLiteralExpr, toLiteralStringValueExpr, toLongLiteralExpr, toMarkerAnnotationExpr, toMethodCallExpr, toMethodReferenceExpr, toNameExpr, toNormalAnnotationExpr, toNullLiteralExpr, toObjectCreationExpr, 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, waitisFinal, setFinaladdModifier, getAccessSpecifier, hasModifier, removeModifier, setModifier, setModifiersgetTypeAsString, setType, setType, tryAddImportToParentCompilationUnitfindAncestor, findAncestor, findAncestor, hasParentNode, isDescendantOfcontainsWithin, containsWithinRange, getBegin, getEnd, hasRangepublic RecordPatternExpr()
public RecordPatternExpr(NodeList<Modifier> modifiers, Type type, NodeList<PatternExpr> patternList)
public RecordPatternExpr(TokenRange tokenRange, NodeList<Modifier> modifiers, Type type, NodeList<PatternExpr> patternList)
public ReferenceType getType()
getType in interface NodeWithType<PatternExpr,Type>getType in class PatternExprpublic <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 NodeList<Modifier> getModifiers()
NodeWithModifiersgetModifiers in interface NodeWithModifiers<RecordPatternExpr>Modifierpublic RecordPatternExpr setModifiers(NodeList<Modifier> modifiers)
setModifiers in interface NodeWithModifiers<RecordPatternExpr>public boolean isRecordPatternExpr()
isRecordPatternExpr in class Expressionpublic RecordPatternExpr asRecordPatternExpr()
asRecordPatternExpr in class Expressionpublic Optional<RecordPatternExpr> toRecordPatternExpr()
toRecordPatternExpr in class Expressionpublic void ifRecordPatternExpr(Consumer<RecordPatternExpr> action)
ifRecordPatternExpr in class Expressionpublic NodeList<PatternExpr> getPatternList()
public RecordPatternExpr setPatternList(NodeList<PatternExpr> patternList)
public boolean replace(Node node, Node replacementNode)
replace in class PatternExprpublic RecordPatternExpr clone()
clone in class PatternExprpublic RecordPatternExprMetaModel getMetaModel()
getMetaModel in class PatternExprCopyright © 2007–2025. All rights reserved.