public abstract class jdk.nashorn.internal.ir.BaseNode extends jdk.nashorn.internal.ir.Expression implements jdk.nashorn.internal.ir.FunctionCall, jdk.nashorn.internal.ir.Optimistic
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.nashorn.internal.ir.BaseNode
  super_class: jdk.nashorn.internal.ir.Expression
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  protected final jdk.nashorn.internal.ir.Expression base;
    descriptor: Ljdk/nashorn/internal/ir/Expression;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final boolean isFunction;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final jdk.nashorn.internal.codegen.types.Type type;
    descriptor: Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final int programPoint;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final boolean isSuper;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(long, int, jdk.nashorn.internal.ir.Expression, boolean, boolean);
    descriptor: (JILjdk/nashorn/internal/ir/Expression;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // jdk.nashorn.internal.ir.BaseNode this
        start local 1 // long token
        start local 3 // int finish
        start local 4 // jdk.nashorn.internal.ir.Expression base
        start local 5 // boolean isFunction
        start local 6 // boolean isSuper
         0: .line 68
            aload 0 /* this */
            lload 1 /* token */
            aload 4 /* base */
            invokevirtual jdk.nashorn.internal.ir.Expression.getStart:()I
            iload 3 /* finish */
            invokespecial jdk.nashorn.internal.ir.Expression.<init>:(JII)V
         1: .line 69
            aload 0 /* this */
            aload 4 /* base */
            putfield jdk.nashorn.internal.ir.BaseNode.base:Ljdk/nashorn/internal/ir/Expression;
         2: .line 70
            aload 0 /* this */
            iload 5 /* isFunction */
            putfield jdk.nashorn.internal.ir.BaseNode.isFunction:Z
         3: .line 71
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.internal.ir.BaseNode.type:Ljdk/nashorn/internal/codegen/types/Type;
         4: .line 72
            aload 0 /* this */
            iconst_m1
            putfield jdk.nashorn.internal.ir.BaseNode.programPoint:I
         5: .line 73
            aload 0 /* this */
            iload 6 /* isSuper */
            putfield jdk.nashorn.internal.ir.BaseNode.isSuper:Z
         6: .line 74
            return
        end local 6 // boolean isSuper
        end local 5 // boolean isFunction
        end local 4 // jdk.nashorn.internal.ir.Expression base
        end local 3 // int finish
        end local 1 // long token
        end local 0 // jdk.nashorn.internal.ir.BaseNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Ljdk/nashorn/internal/ir/BaseNode;
            0    7     1       token  J
            0    7     3      finish  I
            0    7     4        base  Ljdk/nashorn/internal/ir/Expression;
            0    7     5  isFunction  Z
            0    7     6     isSuper  Z
    MethodParameters:
            Name  Flags
      token       final
      finish      final
      base        final
      isFunction  final
      isSuper     final

  protected void <init>(jdk.nashorn.internal.ir.BaseNode, jdk.nashorn.internal.ir.Expression, boolean, jdk.nashorn.internal.codegen.types.Type, int, boolean);
    descriptor: (Ljdk/nashorn/internal/ir/BaseNode;Ljdk/nashorn/internal/ir/Expression;ZLjdk/nashorn/internal/codegen/types/Type;IZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=7, args_size=7
        start local 0 // jdk.nashorn.internal.ir.BaseNode this
        start local 1 // jdk.nashorn.internal.ir.BaseNode baseNode
        start local 2 // jdk.nashorn.internal.ir.Expression base
        start local 3 // boolean isFunction
        start local 4 // jdk.nashorn.internal.codegen.types.Type callSiteType
        start local 5 // int programPoint
        start local 6 // boolean isSuper
         0: .line 86
            aload 0 /* this */
            aload 1 /* baseNode */
            invokespecial jdk.nashorn.internal.ir.Expression.<init>:(Ljdk/nashorn/internal/ir/Expression;)V
         1: .line 87
            aload 0 /* this */
            aload 2 /* base */
            putfield jdk.nashorn.internal.ir.BaseNode.base:Ljdk/nashorn/internal/ir/Expression;
         2: .line 88
            aload 0 /* this */
            iload 3 /* isFunction */
            putfield jdk.nashorn.internal.ir.BaseNode.isFunction:Z
         3: .line 89
            aload 0 /* this */
            aload 4 /* callSiteType */
            putfield jdk.nashorn.internal.ir.BaseNode.type:Ljdk/nashorn/internal/codegen/types/Type;
         4: .line 90
            aload 0 /* this */
            iload 5 /* programPoint */
            putfield jdk.nashorn.internal.ir.BaseNode.programPoint:I
         5: .line 91
            aload 0 /* this */
            iload 6 /* isSuper */
            putfield jdk.nashorn.internal.ir.BaseNode.isSuper:Z
         6: .line 92
            return
        end local 6 // boolean isSuper
        end local 5 // int programPoint
        end local 4 // jdk.nashorn.internal.codegen.types.Type callSiteType
        end local 3 // boolean isFunction
        end local 2 // jdk.nashorn.internal.ir.Expression base
        end local 1 // jdk.nashorn.internal.ir.BaseNode baseNode
        end local 0 // jdk.nashorn.internal.ir.BaseNode this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Ljdk/nashorn/internal/ir/BaseNode;
            0    7     1      baseNode  Ljdk/nashorn/internal/ir/BaseNode;
            0    7     2          base  Ljdk/nashorn/internal/ir/Expression;
            0    7     3    isFunction  Z
            0    7     4  callSiteType  Ljdk/nashorn/internal/codegen/types/Type;
            0    7     5  programPoint  I
            0    7     6       isSuper  Z
    MethodParameters:
              Name  Flags
      baseNode      final
      base          final
      isFunction    final
      callSiteType  final
      programPoint  final
      isSuper       final

  public jdk.nashorn.internal.ir.Expression getBase();
    descriptor: ()Ljdk/nashorn/internal/ir/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.BaseNode this
         0: .line 99
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.BaseNode.base:Ljdk/nashorn/internal/ir/Expression;
            areturn
        end local 0 // jdk.nashorn.internal.ir.BaseNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/BaseNode;

  public boolean isFunction();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.BaseNode this
         0: .line 104
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.BaseNode.isFunction:Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.BaseNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/BaseNode;

  public jdk.nashorn.internal.codegen.types.Type getType();
    descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.BaseNode this
         0: .line 109
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.BaseNode.type:Ljdk/nashorn/internal/codegen/types/Type;
            ifnonnull 1
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.BaseNode.getMostPessimisticType:()Ljdk/nashorn/internal/codegen/types/Type;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield jdk.nashorn.internal.ir.BaseNode.type:Ljdk/nashorn/internal/codegen/types/Type;
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.types.Type
         2: areturn
        end local 0 // jdk.nashorn.internal.ir.BaseNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/ir/BaseNode;

  public int getProgramPoint();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.BaseNode this
         0: .line 114
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.BaseNode.programPoint:I
            ireturn
        end local 0 // jdk.nashorn.internal.ir.BaseNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/BaseNode;

  public jdk.nashorn.internal.codegen.types.Type getMostOptimisticType();
    descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.BaseNode this
         0: .line 119
            getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
            areturn
        end local 0 // jdk.nashorn.internal.ir.BaseNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/BaseNode;

  public jdk.nashorn.internal.codegen.types.Type getMostPessimisticType();
    descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.BaseNode this
         0: .line 124
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            areturn
        end local 0 // jdk.nashorn.internal.ir.BaseNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/BaseNode;

  public boolean canBeOptimistic();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.BaseNode this
         0: .line 129
            iconst_1
            ireturn
        end local 0 // jdk.nashorn.internal.ir.BaseNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/BaseNode;

  public boolean isIndex();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.BaseNode this
         0: .line 137
            aload 0 /* this */
            getstatic jdk.nashorn.internal.parser.TokenType.LBRACKET:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.ir.BaseNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.BaseNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/BaseNode;

  public abstract jdk.nashorn.internal.ir.BaseNode setIsFunction();
    descriptor: ()Ljdk/nashorn/internal/ir/BaseNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean isSuper();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.BaseNode this
         0: .line 150
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.BaseNode.isSuper:Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.BaseNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/BaseNode;

  public abstract jdk.nashorn.internal.ir.BaseNode setIsSuper();
    descriptor: ()Ljdk/nashorn/internal/ir/BaseNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
SourceFile: "BaseNode.java"
    RuntimeInvisibleAnnotations: 
      jdk.nashorn.internal.ir.annotations.Immutable()