public class io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr implements io.github.vmzakharov.ecdataframe.dsl.Expression
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr
  super_class: java.lang.Object
{
  private final io.github.vmzakharov.ecdataframe.dsl.Expression whereClause;
    descriptor: Lio/github/vmzakharov/ecdataframe/dsl/Expression;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.collections.api.list.ListIterable<io.github.vmzakharov.ecdataframe.dsl.Expression> projectionElements;
    descriptor: Lorg/eclipse/collections/api/list/ListIterable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/eclipse/collections/api/list/ListIterable<Lio/github/vmzakharov/ecdataframe/dsl/Expression;>;

  private final org.eclipse.collections.api.list.MutableList<java.lang.String> elementNames;
    descriptor: Lorg/eclipse/collections/api/list/MutableList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/eclipse/collections/api/list/MutableList<Ljava/lang/String;>;

  private final org.eclipse.collections.api.list.MutableList<io.github.vmzakharov.ecdataframe.dsl.Expression> projectionExpressions;
    descriptor: Lorg/eclipse/collections/api/list/MutableList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/eclipse/collections/api/list/MutableList<Lio/github/vmzakharov/ecdataframe/dsl/Expression;>;

  public void <init>(org.eclipse.collections.api.list.ListIterable<io.github.vmzakharov.ecdataframe.dsl.Expression>);
    descriptor: (Lorg/eclipse/collections/api/list/ListIterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
        start local 1 // org.eclipse.collections.api.list.ListIterable newProjectionElements
         0: .line 21
            aload 0 /* this */
            aload 1 /* newProjectionElements */
            aconst_null
            invokespecial io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.<init>:(Lorg/eclipse/collections/api/list/ListIterable;Lio/github/vmzakharov/ecdataframe/dsl/Expression;)V
         1: .line 22
            return
        end local 1 // org.eclipse.collections.api.list.ListIterable newProjectionElements
        end local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lio/github/vmzakharov/ecdataframe/dsl/ProjectionExpr;
            0    2     1  newProjectionElements  Lorg/eclipse/collections/api/list/ListIterable<Lio/github/vmzakharov/ecdataframe/dsl/Expression;>;
    Signature: (Lorg/eclipse/collections/api/list/ListIterable<Lio/github/vmzakharov/ecdataframe/dsl/Expression;>;)V
    MethodParameters:
                       Name  Flags
      newProjectionElements  

  public void <init>(org.eclipse.collections.api.list.ListIterable<io.github.vmzakharov.ecdataframe.dsl.Expression>, io.github.vmzakharov.ecdataframe.dsl.Expression);
    descriptor: (Lorg/eclipse/collections/api/list/ListIterable;Lio/github/vmzakharov/ecdataframe/dsl/Expression;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
        start local 1 // org.eclipse.collections.api.list.ListIterable newProjectionElements
        start local 2 // io.github.vmzakharov.ecdataframe.dsl.Expression newWhereClause
         0: .line 24
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 16
            aload 0 /* this */
            getstatic org.eclipse.collections.impl.factory.Lists.mutable:Lorg/eclipse/collections/api/factory/list/MutableListFactory;
            invokeinterface org.eclipse.collections.api.factory.list.MutableListFactory.of:()Lorg/eclipse/collections/api/list/MutableList;
            putfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.elementNames:Lorg/eclipse/collections/api/list/MutableList;
         2: .line 17
            aload 0 /* this */
            getstatic org.eclipse.collections.impl.factory.Lists.mutable:Lorg/eclipse/collections/api/factory/list/MutableListFactory;
            invokeinterface org.eclipse.collections.api.factory.list.MutableListFactory.of:()Lorg/eclipse/collections/api/list/MutableList;
            putfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.projectionExpressions:Lorg/eclipse/collections/api/list/MutableList;
         3: .line 26
            aload 0 /* this */
            aload 1 /* newProjectionElements */
            putfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.projectionElements:Lorg/eclipse/collections/api/list/ListIterable;
         4: .line 27
            aload 0 /* this */
            aload 2 /* newWhereClause */
            putfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.whereClause:Lio/github/vmzakharov/ecdataframe/dsl/Expression;
         5: .line 29
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 15
         7: .line 31
      StackMap locals: io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr org.eclipse.collections.api.list.ListIterable io.github.vmzakharov.ecdataframe.dsl.Expression int
      StackMap stack:
            aload 0 /* this */
            getfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.projectionElements:Lorg/eclipse/collections/api/list/ListIterable;
            iload 3 /* i */
            invokeinterface org.eclipse.collections.api.list.ListIterable.get:(I)Ljava/lang/Object;
            checkcast io.github.vmzakharov.ecdataframe.dsl.Expression
            astore 4 /* element */
        start local 4 // io.github.vmzakharov.ecdataframe.dsl.Expression element
         8: .line 32
            aload 4 /* element */
            instanceof io.github.vmzakharov.ecdataframe.dsl.AliasExpr
            ifeq 12
         9: .line 34
            aload 0 /* this */
            getfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.elementNames:Lorg/eclipse/collections/api/list/MutableList;
            aload 4 /* element */
            checkcast io.github.vmzakharov.ecdataframe.dsl.AliasExpr
            invokevirtual io.github.vmzakharov.ecdataframe.dsl.AliasExpr.getAlias:()Ljava/lang/String;
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 35
            aload 0 /* this */
            getfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.projectionExpressions:Lorg/eclipse/collections/api/list/MutableList;
            aload 4 /* element */
            checkcast io.github.vmzakharov.ecdataframe.dsl.AliasExpr
            invokevirtual io.github.vmzakharov.ecdataframe.dsl.AliasExpr.getExpression:()Lio/github/vmzakharov/ecdataframe/dsl/Expression;
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        11: .line 36
            goto 14
        12: .line 39
      StackMap locals: io.github.vmzakharov.ecdataframe.dsl.Expression
      StackMap stack:
            aload 0 /* this */
            getfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.elementNames:Lorg/eclipse/collections/api/list/MutableList;
            aload 4 /* element */
            invokestatic io.github.vmzakharov.ecdataframe.dsl.visitor.PrettyPrintVisitor.exprToString:(Lio/github/vmzakharov/ecdataframe/dsl/Expression;)Ljava/lang/String;
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 40
            aload 0 /* this */
            getfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.projectionExpressions:Lorg/eclipse/collections/api/list/MutableList;
            aload 4 /* element */
            invokeinterface org.eclipse.collections.api.list.MutableList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // io.github.vmzakharov.ecdataframe.dsl.Expression element
        14: .line 29
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 0 /* this */
            getfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.projectionElements:Lorg/eclipse/collections/api/list/ListIterable;
            invokeinterface org.eclipse.collections.api.list.ListIterable.size:()I
            if_icmplt 7
        end local 3 // int i
        16: .line 43
            return
        end local 2 // io.github.vmzakharov.ecdataframe.dsl.Expression newWhereClause
        end local 1 // org.eclipse.collections.api.list.ListIterable newProjectionElements
        end local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   17     0                   this  Lio/github/vmzakharov/ecdataframe/dsl/ProjectionExpr;
            0   17     1  newProjectionElements  Lorg/eclipse/collections/api/list/ListIterable<Lio/github/vmzakharov/ecdataframe/dsl/Expression;>;
            0   17     2         newWhereClause  Lio/github/vmzakharov/ecdataframe/dsl/Expression;
            6   16     3                      i  I
            8   14     4                element  Lio/github/vmzakharov/ecdataframe/dsl/Expression;
    Signature: (Lorg/eclipse/collections/api/list/ListIterable<Lio/github/vmzakharov/ecdataframe/dsl/Expression;>;Lio/github/vmzakharov/ecdataframe/dsl/Expression;)V
    MethodParameters:
                       Name  Flags
      newProjectionElements  
      newWhereClause         

  public io.github.vmzakharov.ecdataframe.dsl.value.Value evaluate(io.github.vmzakharov.ecdataframe.dsl.visitor.ExpressionEvaluationVisitor);
    descriptor: (Lio/github/vmzakharov/ecdataframe/dsl/visitor/ExpressionEvaluationVisitor;)Lio/github/vmzakharov/ecdataframe/dsl/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
        start local 1 // io.github.vmzakharov.ecdataframe.dsl.visitor.ExpressionEvaluationVisitor visitor
         0: .line 48
            aload 1 /* visitor */
            aload 0 /* this */
            invokeinterface io.github.vmzakharov.ecdataframe.dsl.visitor.ExpressionEvaluationVisitor.visitProjectionExpr:(Lio/github/vmzakharov/ecdataframe/dsl/ProjectionExpr;)Lio/github/vmzakharov/ecdataframe/dsl/value/Value;
            areturn
        end local 1 // io.github.vmzakharov.ecdataframe.dsl.visitor.ExpressionEvaluationVisitor visitor
        end local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/github/vmzakharov/ecdataframe/dsl/ProjectionExpr;
            0    1     1  visitor  Lio/github/vmzakharov/ecdataframe/dsl/visitor/ExpressionEvaluationVisitor;
    MethodParameters:
         Name  Flags
      visitor  

  public void accept(io.github.vmzakharov.ecdataframe.dsl.visitor.ExpressionVisitor);
    descriptor: (Lio/github/vmzakharov/ecdataframe/dsl/visitor/ExpressionVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
        start local 1 // io.github.vmzakharov.ecdataframe.dsl.visitor.ExpressionVisitor visitor
         0: .line 54
            aload 1 /* visitor */
            aload 0 /* this */
            invokeinterface io.github.vmzakharov.ecdataframe.dsl.visitor.ExpressionVisitor.visitProjectionExpr:(Lio/github/vmzakharov/ecdataframe/dsl/ProjectionExpr;)V
         1: .line 55
            return
        end local 1 // io.github.vmzakharov.ecdataframe.dsl.visitor.ExpressionVisitor visitor
        end local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/github/vmzakharov/ecdataframe/dsl/ProjectionExpr;
            0    2     1  visitor  Lio/github/vmzakharov/ecdataframe/dsl/visitor/ExpressionVisitor;
    MethodParameters:
         Name  Flags
      visitor  

  public io.github.vmzakharov.ecdataframe.dsl.Expression getWhereClause();
    descriptor: ()Lio/github/vmzakharov/ecdataframe/dsl/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
         0: .line 59
            aload 0 /* this */
            getfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.whereClause:Lio/github/vmzakharov/ecdataframe/dsl/Expression;
            areturn
        end local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/github/vmzakharov/ecdataframe/dsl/ProjectionExpr;

  public org.eclipse.collections.api.list.ListIterable<io.github.vmzakharov.ecdataframe.dsl.Expression> getProjectionElements();
    descriptor: ()Lorg/eclipse/collections/api/list/ListIterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
         0: .line 64
            aload 0 /* this */
            getfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.projectionElements:Lorg/eclipse/collections/api/list/ListIterable;
            areturn
        end local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/github/vmzakharov/ecdataframe/dsl/ProjectionExpr;
    Signature: ()Lorg/eclipse/collections/api/list/ListIterable<Lio/github/vmzakharov/ecdataframe/dsl/Expression;>;

  public org.eclipse.collections.api.list.ListIterable<io.github.vmzakharov.ecdataframe.dsl.Expression> getProjectionExpressions();
    descriptor: ()Lorg/eclipse/collections/api/list/ListIterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
         0: .line 69
            aload 0 /* this */
            getfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.projectionExpressions:Lorg/eclipse/collections/api/list/MutableList;
            areturn
        end local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/github/vmzakharov/ecdataframe/dsl/ProjectionExpr;
    Signature: ()Lorg/eclipse/collections/api/list/ListIterable<Lio/github/vmzakharov/ecdataframe/dsl/Expression;>;

  public org.eclipse.collections.api.list.ListIterable<java.lang.String> getElementNames();
    descriptor: ()Lorg/eclipse/collections/api/list/ListIterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
         0: .line 74
            aload 0 /* this */
            getfield io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr.elementNames:Lorg/eclipse/collections/api/list/MutableList;
            areturn
        end local 0 // io.github.vmzakharov.ecdataframe.dsl.ProjectionExpr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/github/vmzakharov/ecdataframe/dsl/ProjectionExpr;
    Signature: ()Lorg/eclipse/collections/api/list/ListIterable<Ljava/lang/String;>;
}
SourceFile: "ProjectionExpr.java"