Class Cs.SwitchExpressionArm

java.lang.Object
org.openrewrite.csharp.tree.Cs.SwitchExpressionArm
All Implemented Interfaces:
Cs, org.openrewrite.java.tree.J, org.openrewrite.Tree
Enclosing interface:
Cs

public static final class Cs.SwitchExpressionArm extends Object implements Cs
Represents a single case arm in a switch expression, consisting of a pattern, optional when clause, and result expression.

For example:

 case < 0 when IsValid() => "negative",
 > 0 => "positive",
 _ => "zero"

 // With complex patterns and conditions
 (age, role) switch {
     ( > 21, "admin") when HasPermission() => "full access",
     ( > 18, _) => "basic access",
     _ => "no access"
 }
 
  • Constructor Details

    • SwitchExpressionArm

      public SwitchExpressionArm()
  • Method Details

    • getWhenExpression

      public @Nullable org.openrewrite.java.tree.Expression getWhenExpression()
    • withWhenExpression

      public Cs.SwitchExpressionArm withWhenExpression(@Nullable org.openrewrite.java.tree.Expression whenExpression)
    • getExpression

      public org.openrewrite.java.tree.Expression getExpression()
    • withExpression

      public Cs.SwitchExpressionArm withExpression(org.openrewrite.java.tree.Expression expression)
    • acceptCSharp

      public <P> org.openrewrite.java.tree.J acceptCSharp(CSharpVisitor<P> v, P p)
      Specified by:
      acceptCSharp in interface Cs
    • getPadding

      public Cs.SwitchExpressionArm.Padding getPadding()