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 SummaryModifier 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- 
isCaseRuleReturns 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
 
- 
getBodyReturns 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
 
- 
isDefaultCaseTreeReturns 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
 
- 
isDefaultCaseLabelTreeReturns true iftreeis aDefaultCaseLabelTree.- Parameters:
- tree- a tree to check
- Returns:
- true if treeis aDefaultCaseLabelTree
 
- 
getLabelsGet 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
 
- 
getExpressionsGet 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
 
- 
getGuardReturns 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
 
 
-