Class SwitchExpr.Arm
- java.lang.Object
-
- com.tonic.analysis.source.ast.expr.SwitchExpr.Arm
-
- Enclosing class:
- SwitchExpr
public static final class SwitchExpr.Arm extends Object
One arm.
-
-
Constructor Summary
Constructors Constructor Description Arm(List<Expression> labels, boolean isDefault, Expression result)Arm(List<Expression> labels, boolean isDefault, SourceType patternType, String patternBinding, Expression result)Arm(List<Expression> labels, boolean isDefault, SourceType patternType, String patternBinding, List<SwitchExpr.Component> deconstructionComponents, Expression result)Arm(List<Expression> labels, boolean isDefault, SourceType patternType, String patternBinding, List<SwitchExpr.Component> deconstructionComponents, Expression guard, Expression result)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<SwitchExpr.Component>getDeconstructionComponents()ExpressiongetGuard()List<Expression>getLabels()StringgetPatternBinding()SourceTypegetPatternType()ExpressiongetResult()booleanisDefault()booleanisRecordDeconstruction()booleanisTypePattern()voidsetResult(Expression result)Replaces the value the arm yields; the parent link is not updated.
-
-
-
Constructor Detail
-
Arm
public Arm(List<Expression> labels, boolean isDefault, Expression result)
-
Arm
public Arm(List<Expression> labels, boolean isDefault, SourceType patternType, String patternBinding, Expression result)
-
Arm
public Arm(List<Expression> labels, boolean isDefault, SourceType patternType, String patternBinding, List<SwitchExpr.Component> deconstructionComponents, Expression result)
-
Arm
public Arm(List<Expression> labels, boolean isDefault, SourceType patternType, String patternBinding, List<SwitchExpr.Component> deconstructionComponents, Expression guard, Expression result)
-
-
Method Detail
-
getLabels
public List<Expression> getLabels()
- Returns:
- the labels
-
isDefault
public boolean isDefault()
- Returns:
- whether default
-
getPatternType
public SourceType getPatternType()
- Returns:
- the pattern type
-
getPatternBinding
public String getPatternBinding()
- Returns:
- the pattern binding
-
getDeconstructionComponents
public List<SwitchExpr.Component> getDeconstructionComponents()
- Returns:
- the deconstruction components
-
getGuard
public Expression getGuard()
- Returns:
- the guard
-
getResult
public Expression getResult()
- Returns:
- the result
-
isTypePattern
public boolean isTypePattern()
- Returns:
- true if the arm matches on a type pattern rather than constant labels
-
isRecordDeconstruction
public boolean isRecordDeconstruction()
- Returns:
- true if the arm is a type pattern that also destructures record components
-
setResult
public void setResult(Expression result)
Replaces the value the arm yields; the parent link is not updated.- Parameters:
result- the new result expression
-
-