Class Cs.UnaryPattern

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

public static final class Cs.UnaryPattern extends Object implements Cs, Cs.Pattern, org.openrewrite.java.tree.Expression
Represents a unary pattern in C#, which negates another pattern using the "not" keyword.

For example:

     // Using "not" pattern to negate a type pattern
     if (obj is not string) { }

     // Using "not" pattern with constant pattern
     if (value is not 0) { }

     // Using "not" pattern with other patterns
     switch (obj) {
         case not null: // Negates null constant pattern
             break;
         case not int: // Negates type pattern
             break;
     }
 
  • Constructor Details

    • UnaryPattern

      public UnaryPattern()
  • Method Details

    • getType

      public @Nullable org.openrewrite.java.tree.JavaType getType()
      Specified by:
      getType in interface org.openrewrite.java.tree.Expression
    • withType

      public Cs.UnaryPattern withType(@Nullable org.openrewrite.java.tree.JavaType type)
      Specified by:
      withType in interface org.openrewrite.java.tree.Expression
    • acceptCSharp

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

      public org.openrewrite.java.tree.CoordinateBuilder.Expression getCoordinates()
      Specified by:
      getCoordinates in interface org.openrewrite.java.tree.Expression