public abstract class com.oracle.truffle.dsl.processor.expression.DSLExpression
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.dsl.processor.expression.DSLExpression
  super_class: java.lang.Object
{
  private javax.lang.model.type.TypeMirror resolvedTargetType;
    descriptor: Ljavax/lang/model/type/TypeMirror;
    flags: (0x0002) ACC_PRIVATE

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 80
            return
        end local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;

  public java.util.List<com.oracle.truffle.dsl.processor.expression.DSLExpression> flatten();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
         0: .line 92
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* expressions */
        start local 1 // java.util.List expressions
         1: .line 93
            aload 0 /* this */
            new com.oracle.truffle.dsl.processor.expression.DSLExpression$1
            dup
            aload 0 /* this */
            aload 1 /* expressions */
            invokespecial com.oracle.truffle.dsl.processor.expression.DSLExpression$1.<init>:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;Ljava/util/List;)V
            invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression.accept:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLExpressionVisitor;)V
         2: .line 126
            aload 1 /* expressions */
            areturn
        end local 1 // java.util.List expressions
        end local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
            1    3     1  expressions  Ljava/util/List<Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;>;
    Signature: ()Ljava/util/List<Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;>;

  public abstract boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      obj   

  public abstract int hashCode();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean mayAllocate();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
         0: .line 136
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            astore 1 /* mayAllocate */
        start local 1 // java.util.concurrent.atomic.AtomicBoolean mayAllocate
         1: .line 137
            aload 0 /* this */
            new com.oracle.truffle.dsl.processor.expression.DSLExpression$2
            dup
            aload 0 /* this */
            aload 1 /* mayAllocate */
            invokespecial com.oracle.truffle.dsl.processor.expression.DSLExpression$2.<init>:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;Ljava/util/concurrent/atomic/AtomicBoolean;)V
            invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression.accept:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLExpressionVisitor;)V
         2: .line 145
            aload 1 /* mayAllocate */
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ireturn
        end local 1 // java.util.concurrent.atomic.AtomicBoolean mayAllocate
        end local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
            1    3     1  mayAllocate  Ljava/util/concurrent/atomic/AtomicBoolean;

  public boolean isNodeReceiverBound();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
         0: .line 149
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            astore 1 /* bindsReceiver */
        start local 1 // java.util.concurrent.atomic.AtomicBoolean bindsReceiver
         1: .line 150
            aload 0 /* this */
            new com.oracle.truffle.dsl.processor.expression.DSLExpression$3
            dup
            aload 0 /* this */
            aload 1 /* bindsReceiver */
            invokespecial com.oracle.truffle.dsl.processor.expression.DSLExpression$3.<init>:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;Ljava/util/concurrent/atomic/AtomicBoolean;)V
            invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression.accept:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLExpressionVisitor;)V
         2: .line 177
            aload 1 /* bindsReceiver */
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ireturn
        end local 1 // java.util.concurrent.atomic.AtomicBoolean bindsReceiver
        end local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
            1    3     1  bindsReceiver  Ljava/util/concurrent/atomic/AtomicBoolean;

  public static com.oracle.truffle.dsl.processor.expression.DSLExpression parse(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String input
         0: .line 181
            new com.oracle.truffle.dsl.processor.expression.ExpressionLexer
            dup
            aload 0 /* input */
            invokestatic org.antlr.v4.runtime.CharStreams.fromString:(Ljava/lang/String;)Lorg/antlr/v4/runtime/CodePointCharStream;
            invokespecial com.oracle.truffle.dsl.processor.expression.ExpressionLexer.<init>:(Lorg/antlr/v4/runtime/CharStream;)V
            astore 1 /* lexer */
        start local 1 // com.oracle.truffle.dsl.processor.expression.ExpressionLexer lexer
         1: .line 182
            new org.antlr.v4.runtime.CommonTokenStream
            dup
            aload 1 /* lexer */
            invokespecial org.antlr.v4.runtime.CommonTokenStream.<init>:(Lorg/antlr/v4/runtime/TokenSource;)V
            astore 2 /* tokens */
        start local 2 // org.antlr.v4.runtime.TokenStream tokens
         2: .line 183
            new com.oracle.truffle.dsl.processor.expression.ExpressionParser
            dup
            aload 2 /* tokens */
            invokespecial com.oracle.truffle.dsl.processor.expression.ExpressionParser.<init>:(Lorg/antlr/v4/runtime/TokenStream;)V
            astore 3 /* parser */
        start local 3 // com.oracle.truffle.dsl.processor.expression.ExpressionParser parser
         3: .line 184
            aload 3 /* parser */
            iconst_0
            invokevirtual com.oracle.truffle.dsl.processor.expression.ExpressionParser.setBuildParseTree:(Z)V
         4: .line 185
            aload 1 /* lexer */
            invokevirtual com.oracle.truffle.dsl.processor.expression.ExpressionLexer.removeErrorListeners:()V
         5: .line 186
            aload 3 /* parser */
            invokevirtual com.oracle.truffle.dsl.processor.expression.ExpressionParser.removeErrorListeners:()V
         6: .line 187
            aload 1 /* lexer */
            getstatic com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLErrorListener.INSTANCE:Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLErrorListener;
            invokevirtual com.oracle.truffle.dsl.processor.expression.ExpressionLexer.addErrorListener:(Lorg/antlr/v4/runtime/ANTLRErrorListener;)V
         7: .line 188
            aload 3 /* parser */
            getstatic com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLErrorListener.INSTANCE:Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLErrorListener;
            invokevirtual com.oracle.truffle.dsl.processor.expression.ExpressionParser.addErrorListener:(Lorg/antlr/v4/runtime/ANTLRErrorListener;)V
         8: .line 190
            aload 3 /* parser */
            invokevirtual com.oracle.truffle.dsl.processor.expression.ExpressionParser.expression:()Lcom/oracle/truffle/dsl/processor/expression/ExpressionParser$ExpressionContext;
            getfield com.oracle.truffle.dsl.processor.expression.ExpressionParser$ExpressionContext.result:Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
         9: areturn
        10: .line 191
      StackMap locals: java.lang.String com.oracle.truffle.dsl.processor.expression.ExpressionLexer org.antlr.v4.runtime.TokenStream com.oracle.truffle.dsl.processor.expression.ExpressionParser
      StackMap stack: org.antlr.v4.runtime.RecognitionException
            astore 4 /* e */
        start local 4 // org.antlr.v4.runtime.RecognitionException e
        11: .line 192
            new com.oracle.truffle.dsl.processor.expression.InvalidExpressionException
            dup
            aload 4 /* e */
            invokevirtual org.antlr.v4.runtime.RecognitionException.getMessage:()Ljava/lang/String;
            invokespecial com.oracle.truffle.dsl.processor.expression.InvalidExpressionException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.antlr.v4.runtime.RecognitionException e
        end local 3 // com.oracle.truffle.dsl.processor.expression.ExpressionParser parser
        end local 2 // org.antlr.v4.runtime.TokenStream tokens
        end local 1 // com.oracle.truffle.dsl.processor.expression.ExpressionLexer lexer
        end local 0 // java.lang.String input
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0   input  Ljava/lang/String;
            1   12     1   lexer  Lcom/oracle/truffle/dsl/processor/expression/ExpressionLexer;
            2   12     2  tokens  Lorg/antlr/v4/runtime/TokenStream;
            3   12     3  parser  Lcom/oracle/truffle/dsl/processor/expression/ExpressionParser;
           11   12     4       e  Lorg/antlr/v4/runtime/RecognitionException;
      Exception table:
        from    to  target  type
           8     9      10  Class org.antlr.v4.runtime.RecognitionException
    MethodParameters:
       Name  Flags
      input  

  public final java.util.Set<javax.lang.model.element.ExecutableElement> findBoundExecutableElements();
    descriptor: ()Ljava/util/Set;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
         0: .line 197
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* methods */
        start local 1 // java.util.Set methods
         1: .line 198
            aload 0 /* this */
            new com.oracle.truffle.dsl.processor.expression.DSLExpression$4
            dup
            aload 0 /* this */
            aload 1 /* methods */
            invokespecial com.oracle.truffle.dsl.processor.expression.DSLExpression$4.<init>:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;Ljava/util/Set;)V
            invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression.accept:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLExpressionVisitor;)V
         2: .line 208
            aload 1 /* methods */
            areturn
        end local 1 // java.util.Set methods
        end local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
            1    3     1  methods  Ljava/util/Set<Ljavax/lang/model/element/ExecutableElement;>;
    Signature: ()Ljava/util/Set<Ljavax/lang/model/element/ExecutableElement;>;

  public final java.util.Set<javax.lang.model.element.VariableElement> findBoundVariableElements();
    descriptor: ()Ljava/util/Set;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
         0: .line 212
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* variables */
        start local 1 // java.util.Set variables
         1: .line 213
            aload 0 /* this */
            new com.oracle.truffle.dsl.processor.expression.DSLExpression$5
            dup
            aload 0 /* this */
            aload 1 /* variables */
            invokespecial com.oracle.truffle.dsl.processor.expression.DSLExpression$5.<init>:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;Ljava/util/Set;)V
            invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression.accept:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLExpressionVisitor;)V
         2: .line 223
            aload 1 /* variables */
            areturn
        end local 1 // java.util.Set variables
        end local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
            1    3     1  variables  Ljava/util/Set<Ljavax/lang/model/element/VariableElement;>;
    Signature: ()Ljava/util/Set<Ljavax/lang/model/element/VariableElement;>;

  public final java.util.Set<com.oracle.truffle.dsl.processor.expression.DSLExpression$Variable> findBoundVariables();
    descriptor: ()Ljava/util/Set;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
         0: .line 227
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* variables */
        start local 1 // java.util.Set variables
         1: .line 228
            aload 0 /* this */
            new com.oracle.truffle.dsl.processor.expression.DSLExpression$6
            dup
            aload 0 /* this */
            aload 1 /* variables */
            invokespecial com.oracle.truffle.dsl.processor.expression.DSLExpression$6.<init>:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;Ljava/util/Set;)V
            invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression.accept:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLExpressionVisitor;)V
         2: .line 238
            aload 1 /* variables */
            areturn
        end local 1 // java.util.Set variables
        end local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
            1    3     1  variables  Ljava/util/Set<Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Variable;>;
    Signature: ()Ljava/util/Set<Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Variable;>;

  public java.lang.Object resolveConstant();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
         0: .line 242
            aconst_null
            areturn
        end local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;

  public void setResolvedTargetType(javax.lang.model.type.TypeMirror);
    descriptor: (Ljavax/lang/model/type/TypeMirror;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
        start local 1 // javax.lang.model.type.TypeMirror resolvedTargetType
         0: .line 246
            aload 0 /* this */
            aload 1 /* resolvedTargetType */
            putfield com.oracle.truffle.dsl.processor.expression.DSLExpression.resolvedTargetType:Ljavax/lang/model/type/TypeMirror;
         1: .line 247
            return
        end local 1 // javax.lang.model.type.TypeMirror resolvedTargetType
        end local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
            0    2     1  resolvedTargetType  Ljavax/lang/model/type/TypeMirror;
    MethodParameters:
                    Name  Flags
      resolvedTargetType  

  public javax.lang.model.type.TypeMirror getResolvedTargetType();
    descriptor: ()Ljavax/lang/model/type/TypeMirror;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
         0: .line 250
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.expression.DSLExpression.resolvedTargetType:Ljavax/lang/model/type/TypeMirror;
            areturn
        end local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;

  public java.lang.String asString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
         0: .line 254
            aload 0 /* this */
            aconst_null
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.write:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Ljava/util/Map;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
            astore 1 /* tree */
        start local 1 // com.oracle.truffle.dsl.processor.java.model.CodeTree tree
         1: .line 255
            aload 1 /* tree */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 1 // com.oracle.truffle.dsl.processor.java.model.CodeTree tree
        end local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
            1    2     1  tree  Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;

  public abstract javax.lang.model.type.TypeMirror getResolvedType();
    descriptor: ()Ljavax/lang/model/type/TypeMirror;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void accept(com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLExpressionVisitor);
    descriptor: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLExpressionVisitor;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      visitor  

  public abstract com.oracle.truffle.dsl.processor.expression.DSLExpression reduce(com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLExpressionReducer);
    descriptor: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLExpressionReducer;)Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      visitor  

  private com.oracle.truffle.dsl.processor.expression.DSLExpression reduceImpl(com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLExpressionReducer);
    descriptor: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLExpressionReducer;)Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
        start local 1 // com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLExpressionReducer reducer
         0: .line 265
            aload 0 /* this */
            aload 1 /* reducer */
            invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression.reduce:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLExpressionReducer;)Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
            astore 2 /* expression */
        start local 2 // com.oracle.truffle.dsl.processor.expression.DSLExpression expression
         1: .line 266
            aload 2 /* expression */
            ifnonnull 3
         2: .line 267
            aload 0 /* this */
            areturn
         3: .line 269
      StackMap locals: com.oracle.truffle.dsl.processor.expression.DSLExpression
      StackMap stack:
            aload 2 /* expression */
            areturn
        end local 2 // com.oracle.truffle.dsl.processor.expression.DSLExpression expression
        end local 1 // com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLExpressionReducer reducer
        end local 0 // com.oracle.truffle.dsl.processor.expression.DSLExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
            0    4     1     reducer  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLExpressionReducer;
            1    4     2  expression  Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
    MethodParameters:
         Name  Flags
      reducer  
}
SourceFile: "DSLExpression.java"
NestMembers:
  com.oracle.truffle.dsl.processor.expression.DSLExpression$1  com.oracle.truffle.dsl.processor.expression.DSLExpression$2  com.oracle.truffle.dsl.processor.expression.DSLExpression$3  com.oracle.truffle.dsl.processor.expression.DSLExpression$4  com.oracle.truffle.dsl.processor.expression.DSLExpression$5  com.oracle.truffle.dsl.processor.expression.DSLExpression$6  com.oracle.truffle.dsl.processor.expression.DSLExpression$AbstractDSLExpressionReducer  com.oracle.truffle.dsl.processor.expression.DSLExpression$AbstractDSLExpressionVisitor  com.oracle.truffle.dsl.processor.expression.DSLExpression$Binary  com.oracle.truffle.dsl.processor.expression.DSLExpression$BooleanLiteral  com.oracle.truffle.dsl.processor.expression.DSLExpression$Call  com.oracle.truffle.dsl.processor.expression.DSLExpression$Cast  com.oracle.truffle.dsl.processor.expression.DSLExpression$ClassLiteral  com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLErrorListener  com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLExpressionReducer  com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLExpressionVisitor  com.oracle.truffle.dsl.processor.expression.DSLExpression$IntLiteral  com.oracle.truffle.dsl.processor.expression.DSLExpression$Negate  com.oracle.truffle.dsl.processor.expression.DSLExpression$Variable
InnerClasses:
  com.oracle.truffle.dsl.processor.expression.DSLExpression$1
  com.oracle.truffle.dsl.processor.expression.DSLExpression$2
  com.oracle.truffle.dsl.processor.expression.DSLExpression$3
  com.oracle.truffle.dsl.processor.expression.DSLExpression$4
  com.oracle.truffle.dsl.processor.expression.DSLExpression$5
  com.oracle.truffle.dsl.processor.expression.DSLExpression$6
  public abstract AbstractDSLExpressionReducer = com.oracle.truffle.dsl.processor.expression.DSLExpression$AbstractDSLExpressionReducer of com.oracle.truffle.dsl.processor.expression.DSLExpression
  public abstract AbstractDSLExpressionVisitor = com.oracle.truffle.dsl.processor.expression.DSLExpression$AbstractDSLExpressionVisitor of com.oracle.truffle.dsl.processor.expression.DSLExpression
  public final Binary = com.oracle.truffle.dsl.processor.expression.DSLExpression$Binary of com.oracle.truffle.dsl.processor.expression.DSLExpression
  public final BooleanLiteral = com.oracle.truffle.dsl.processor.expression.DSLExpression$BooleanLiteral of com.oracle.truffle.dsl.processor.expression.DSLExpression
  public final Call = com.oracle.truffle.dsl.processor.expression.DSLExpression$Call of com.oracle.truffle.dsl.processor.expression.DSLExpression
  public final Cast = com.oracle.truffle.dsl.processor.expression.DSLExpression$Cast of com.oracle.truffle.dsl.processor.expression.DSLExpression
  public final ClassLiteral = com.oracle.truffle.dsl.processor.expression.DSLExpression$ClassLiteral of com.oracle.truffle.dsl.processor.expression.DSLExpression
  private final DSLErrorListener = com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLErrorListener of com.oracle.truffle.dsl.processor.expression.DSLExpression
  public abstract DSLExpressionReducer = com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLExpressionReducer of com.oracle.truffle.dsl.processor.expression.DSLExpression
  public abstract DSLExpressionVisitor = com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLExpressionVisitor of com.oracle.truffle.dsl.processor.expression.DSLExpression
  public final IntLiteral = com.oracle.truffle.dsl.processor.expression.DSLExpression$IntLiteral of com.oracle.truffle.dsl.processor.expression.DSLExpression
  public final Negate = com.oracle.truffle.dsl.processor.expression.DSLExpression$Negate of com.oracle.truffle.dsl.processor.expression.DSLExpression
  public final Variable = com.oracle.truffle.dsl.processor.expression.DSLExpression$Variable of com.oracle.truffle.dsl.processor.expression.DSLExpression
  public ExpressionContext = com.oracle.truffle.dsl.processor.expression.ExpressionParser$ExpressionContext of com.oracle.truffle.dsl.processor.expression.ExpressionParser