Package org.checkerframework.javacutil
Class TreeUtilsAfterJava11.CaseUtils
java.lang.Object
org.checkerframework.javacutil.TreeUtilsAfterJava11.CaseUtils
- Enclosing class:
 TreeUtilsAfterJava11
Utility methods for accessing 
CaseTree methods.- 
Method Summary
Modifier and TypeMethodDescriptionReturns the body of the case statement if it is of the formcase <expression> -> <expression>.static List<? extends ExpressionTree> getExpressions(CaseTree caseTree) Get the list of expressions from a case expression.static @Nullable ExpressionTreeReturns the guard, the expression afterwhen, ofcaseTree.Get the list of labels from a case expression.static booleanisCaseRule(CaseTree caseTree) Returns true if this is a case rule (as opposed to a case statement).static booleanisDefaultCaseLabelTree(Tree tree) Returns true iftreeis aDefaultCaseLabelTree.static booleanisDefaultCaseTree(CaseTree caseTree) Returns true if this is the default case for a switch statement or expression. 
- 
Method Details
- 
isCaseRule
Returns true if this is a case rule (as opposed to a case statement).- Parameters:
 caseTree- a case tree- Returns:
 - true if 
caseTreeis a case rule 
 - 
getBody
Returns the body of the case statement if it is of the formcase <expression> -> <expression>. This method should only be called ifCaseTree.getStatements()returns null.- Parameters:
 caseTree- the case expression to get the body from- Returns:
 - the body of the case tree
 
 - 
isDefaultCaseTree
Returns true if this is the default case for a switch statement or expression. (Also, returns true ifcaseTreeiscase null, default:.)- Parameters:
 caseTree- a case tree- Returns:
 - true if 
caseTreeis the default case for a switch statement or expression 
 - 
isDefaultCaseLabelTree
Returns true iftreeis aDefaultCaseLabelTree.- Parameters:
 tree- a tree to check- Returns:
 - true if 
treeis aDefaultCaseLabelTree 
 - 
getLabels
Get the list of labels from a case expression. Fordefault, this is empty. Forcase null, default, the list containsnull. Otherwise, in JDK 11 and earlier, this is a list of a single expression tree. In JDK 12+, the list may have multiple expression trees. In JDK 21+, the list might contain a single pattern tree.- Parameters:
 caseTree- the case expression to get the labels from- Returns:
 - the list of case labels in the case
 
 - 
getExpressions
Get the list of expressions from a case expression. For the default case, this is empty. Otherwise, in JDK 11 and earlier, this is a singleton list. In JDK 12 onwards, there can be multiple expressions per case.- Parameters:
 caseTree- the case expression to get the expressions from- Returns:
 - the list of expressions in the case
 
 - 
getGuard
Returns the guard, the expression afterwhen, ofcaseTree. Wrapper aroundCaseTree#getGuardthat can be called on any version of Java.- Parameters:
 caseTree- the case tree- Returns:
 - the guard on the case tree or null if one does not exist
 
 
 -