public final class com.oracle.truffle.js.nodes.control.SwitchNode extends com.oracle.truffle.js.nodes.control.StatementNode
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.nodes.control.SwitchNode
  super_class: com.oracle.truffle.js.nodes.control.StatementNode
{
  private final com.oracle.truffle.js.nodes.JavaScriptNode[] caseExpressions;
    descriptor: [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Children()

  private final com.oracle.truffle.js.nodes.JavaScriptNode[] statements;
    descriptor: [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Children()

  private final int[] jumptable;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)

  private final com.oracle.truffle.api.profiles.ConditionProfile[] conditionProfiles;
    descriptor: [Lcom/oracle/truffle/api/profiles/ConditionProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)

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

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 72
            ldc Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.js.nodes.control.SwitchNode.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(com.oracle.truffle.js.nodes.JavaScriptNode[], int[], com.oracle.truffle.js.nodes.JavaScriptNode[]);
    descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;[I[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode[] caseExpressions
        start local 2 // int[] jumptable
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
         0: .line 85
            aload 0 /* this */
            invokespecial com.oracle.truffle.js.nodes.control.StatementNode.<init>:()V
         1: .line 86
            getstatic com.oracle.truffle.js.nodes.control.SwitchNode.$assertionsDisabled:Z
            ifne 2
            aload 1 /* caseExpressions */
            arraylength
            aload 2 /* jumptable */
            arraylength
            iconst_1
            isub
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 87
      StackMap locals: com.oracle.truffle.js.nodes.control.SwitchNode com.oracle.truffle.js.nodes.JavaScriptNode[] int[] com.oracle.truffle.js.nodes.JavaScriptNode[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* caseExpressions */
            putfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
         3: .line 88
            aload 0 /* this */
            aload 3 /* statements */
            putfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
         4: .line 89
            aload 0 /* this */
            aload 2 /* jumptable */
            putfield com.oracle.truffle.js.nodes.control.SwitchNode.jumptable:[I
         5: .line 90
            aload 0 /* this */
            aload 2 /* jumptable */
            invokestatic com.oracle.truffle.js.nodes.control.SwitchNode.isMonotonicallyIncreasing:([I)Z
            putfield com.oracle.truffle.js.nodes.control.SwitchNode.ordered:Z
         6: .line 91
            aload 0 /* this */
            aload 1 /* caseExpressions */
            arraylength
            invokestatic com.oracle.truffle.js.nodes.control.SwitchNode.createConditionProfiles:(I)[Lcom/oracle/truffle/api/profiles/ConditionProfile;
            putfield com.oracle.truffle.js.nodes.control.SwitchNode.conditionProfiles:[Lcom/oracle/truffle/api/profiles/ConditionProfile;
         7: .line 92
            return
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
        end local 2 // int[] jumptable
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode[] caseExpressions
        end local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            0    8     1  caseExpressions  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    8     2        jumptable  [I
            0    8     3       statements  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                 Name  Flags
      caseExpressions  
      jumptable        
      statements       

  private static boolean isMonotonicallyIncreasing(int[]);
    descriptor: ([I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // int[] table
         0: .line 95
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 7
         2: .line 96
      StackMap locals: int
      StackMap stack:
            aload 0 /* table */
            iload 1 /* i */
            iaload
            istore 2 /* start */
        start local 2 // int start
         3: .line 97
            aload 0 /* table */
            iload 1 /* i */
            iconst_1
            iadd
            iaload
            istore 3 /* end */
        start local 3 // int end
         4: .line 98
            iload 2 /* start */
            iload 3 /* end */
            if_icmple 6
         5: .line 99
            iconst_0
            ireturn
        end local 3 // int end
        end local 2 // int start
         6: .line 95
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            aload 0 /* table */
            arraylength
            iconst_1
            isub
            if_icmplt 2
        end local 1 // int i
         8: .line 102
            iconst_1
            ireturn
        end local 0 // int[] table
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0  table  [I
            1    8     1      i  I
            3    6     2  start  I
            4    6     3    end  I
    MethodParameters:
       Name  Flags
      table  

  private static com.oracle.truffle.api.profiles.ConditionProfile[] createConditionProfiles(int);
    descriptor: (I)[Lcom/oracle/truffle/api/profiles/ConditionProfile;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // int length
         0: .line 106
            iload 0 /* length */
            anewarray com.oracle.truffle.api.profiles.ConditionProfile
            astore 1 /* a */
        start local 1 // com.oracle.truffle.api.profiles.ConditionProfile[] a
         1: .line 107
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 108
      StackMap locals: com.oracle.truffle.api.profiles.ConditionProfile[] int
      StackMap stack:
            aload 1 /* a */
            iload 2 /* i */
            invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createCountingProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
            aastore
         4: .line 107
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            iload 0 /* length */
            if_icmplt 3
        end local 2 // int i
         6: .line 110
            aload 1 /* a */
            areturn
        end local 1 // com.oracle.truffle.api.profiles.ConditionProfile[] a
        end local 0 // int length
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  length  I
            1    7     1       a  [Lcom/oracle/truffle/api/profiles/ConditionProfile;
            2    6     2       i  I
    MethodParameters:
        Name  Flags
      length  

  public static com.oracle.truffle.js.nodes.control.SwitchNode create(com.oracle.truffle.js.nodes.JavaScriptNode[], int[], com.oracle.truffle.js.nodes.JavaScriptNode[]);
    descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;[I[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/SwitchNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.JavaScriptNode[] caseExpressions
        start local 1 // int[] jumptable
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
         0: .line 114
            new com.oracle.truffle.js.nodes.control.SwitchNode
            dup
            aload 0 /* caseExpressions */
            aload 1 /* jumptable */
            aload 2 /* statements */
            invokespecial com.oracle.truffle.js.nodes.control.SwitchNode.<init>:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;[I[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
        end local 1 // int[] jumptable
        end local 0 // com.oracle.truffle.js.nodes.JavaScriptNode[] caseExpressions
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  caseExpressions  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     1        jumptable  [I
            0    1     2       statements  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                 Name  Flags
      caseExpressions  
      jumptable        
      statements       

  public boolean hasTag(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
        start local 1 // java.lang.Class tag
         0: .line 119
            aload 1 /* tag */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowRootTag;
            if_acmpne 2
         1: .line 120
            iconst_1
            ireturn
         2: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tag */
            invokespecial com.oracle.truffle.js.nodes.control.StatementNode.hasTag:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Class tag
        end local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            0    3     1   tag  Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
    Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
    MethodParameters:
      Name  Flags
      tag   

  public java.lang.Object getNodeObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
         0: .line 127
            ldc "type"
            getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowRootTag$Type.Conditional:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowRootTag$Type;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowRootTag$Type.name:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTags.createNodeObjectDescriptor:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;
            areturn
        end local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/control/SwitchNode;

  public com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
    descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
        start local 1 // java.util.Set materializedTags
         0: .line 132
            aload 1 /* materializedTags */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowRootTag;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 39
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.nodes.control.SwitchNode.needsMaterialization:()Z
            ifeq 39
         1: .line 133
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            arraylength
            anewarray com.oracle.truffle.js.nodes.JavaScriptNode
            astore 2 /* newCaseExpressions */
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode[] newCaseExpressions
         2: .line 134
            iconst_0
            istore 3 /* wasChanged */
        start local 3 // boolean wasChanged
         3: .line 135
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 12
         5: .line 136
      StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode[] int int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            iload 4 /* i */
            aaload
            aload 1 /* materializedTags */
            invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.materializeInstrumentableNodes:(Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
            astore 5 /* materialized */
        start local 5 // com.oracle.truffle.api.instrumentation.InstrumentableNode materialized
         6: .line 137
            aload 2 /* newCaseExpressions */
            iload 4 /* i */
            aload 5 /* materialized */
            checkcast com.oracle.truffle.js.nodes.JavaScriptNode
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowBranchTag;
         7: .line 138
            ldc "type"
            getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowBranchTag$Type.Condition:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowBranchTag$Type;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowBranchTag$Type.name:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTags.createNodeObjectDescriptor:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;
            aload 1 /* materializedTags */
         8: .line 137
            invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTaggedExecutionNode.createForInput:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aastore
         9: .line 139
            aload 2 /* newCaseExpressions */
            iload 4 /* i */
            aaload
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            iload 4 /* i */
            aaload
            if_acmpeq 11
        10: .line 140
            iconst_1
            istore 3 /* wasChanged */
        end local 5 // com.oracle.truffle.api.instrumentation.InstrumentableNode materialized
        11: .line 135
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            arraylength
            if_icmplt 5
        end local 4 // int i
        13: .line 143
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            arraylength
            anewarray com.oracle.truffle.js.nodes.JavaScriptNode
            astore 4 /* newStatements */
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode[] newStatements
        14: .line 144
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: goto 21
        16: .line 145
      StackMap locals: com.oracle.truffle.js.nodes.control.SwitchNode java.util.Set com.oracle.truffle.js.nodes.JavaScriptNode[] int com.oracle.truffle.js.nodes.JavaScriptNode[] int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            iload 5 /* i */
            aaload
            aload 1 /* materializedTags */
            invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.materializeInstrumentableNodes:(Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
            astore 6 /* materialized */
        start local 6 // com.oracle.truffle.api.instrumentation.InstrumentableNode materialized
        17: .line 146
            aload 4 /* newStatements */
            iload 5 /* i */
            aload 6 /* materialized */
            checkcast com.oracle.truffle.js.nodes.JavaScriptNode
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowBlockTag;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTaggedExecutionNode.createFor:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aastore
        18: .line 147
            aload 4 /* newStatements */
            iload 5 /* i */
            aaload
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            iload 5 /* i */
            aaload
            if_acmpeq 20
        19: .line 148
            iconst_1
            istore 3 /* wasChanged */
        end local 6 // com.oracle.truffle.api.instrumentation.InstrumentableNode materialized
        20: .line 144
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            arraylength
            if_icmplt 16
        end local 5 // int i
        22: .line 151
            iload 3 /* wasChanged */
            ifne 24
        23: .line 152
            aload 0 /* this */
            areturn
        24: .line 155
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        25: goto 29
        26: .line 156
      StackMap locals: int
      StackMap stack:
            aload 2 /* newCaseExpressions */
            iload 5 /* i */
            aaload
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            iload 5 /* i */
            aaload
            if_acmpne 28
        27: .line 157
            aload 2 /* newCaseExpressions */
            iload 5 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            iload 5 /* i */
            aaload
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.control.SwitchNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aastore
        28: .line 155
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 5 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            arraylength
            if_icmplt 26
        end local 5 // int i
        30: .line 160
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        31: goto 35
        32: .line 161
      StackMap locals:
      StackMap stack:
            aload 4 /* newStatements */
            iload 5 /* i */
            aaload
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            iload 5 /* i */
            aaload
            if_acmpne 34
        33: .line 162
            aload 4 /* newStatements */
            iload 5 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            iload 5 /* i */
            aaload
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.control.SwitchNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aastore
        34: .line 160
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 5 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            arraylength
            if_icmplt 32
        end local 5 // int i
        36: .line 166
            aload 2 /* newCaseExpressions */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.jumptable:[I
            aload 4 /* newStatements */
            invokestatic com.oracle.truffle.js.nodes.control.SwitchNode.create:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;[I[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            astore 5 /* materialized */
        start local 5 // com.oracle.truffle.js.nodes.control.SwitchNode materialized
        37: .line 167
            aload 0 /* this */
            aload 5 /* materialized */
            invokestatic com.oracle.truffle.js.nodes.control.SwitchNode.transferSourceSectionAndTags:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
        38: .line 168
            aload 5 /* materialized */
            areturn
        end local 5 // com.oracle.truffle.js.nodes.control.SwitchNode materialized
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode[] newStatements
        end local 3 // boolean wasChanged
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode[] newCaseExpressions
        39: .line 170
      StackMap locals: com.oracle.truffle.js.nodes.control.SwitchNode java.util.Set
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.util.Set materializedTags
        end local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   40     0                this  Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            0   40     1    materializedTags  Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
            2   39     2  newCaseExpressions  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            3   39     3          wasChanged  Z
            4   13     4                   i  I
            6   11     5        materialized  Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
           14   39     4       newStatements  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
           15   22     5                   i  I
           17   20     6        materialized  Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
           25   30     5                   i  I
           31   36     5                   i  I
           37   39     5        materialized  Lcom/oracle/truffle/js/nodes/control/SwitchNode;
    Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
    MethodParameters:
                  Name  Flags
      materializedTags  

  private boolean needsMaterialization();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
         0: .line 175
            iconst_0
            istore 1 /* needsMaterialization */
        start local 1 // boolean needsMaterialization
         1: .line 176
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 177
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            iload 2 /* i */
            aaload
            invokestatic com.oracle.truffle.js.nodes.JSNodeUtil.isTaggedNode:(Lcom/oracle/truffle/api/nodes/Node;)Z
            ifne 5
         4: .line 178
            iconst_1
            istore 1 /* needsMaterialization */
         5: .line 176
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            arraylength
            if_icmpge 7
            iload 1 /* needsMaterialization */
            ifeq 3
        end local 2 // int i
         7: .line 181
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         8: goto 12
         9: .line 182
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            iload 2 /* i */
            aaload
            invokestatic com.oracle.truffle.js.nodes.JSNodeUtil.isTaggedNode:(Lcom/oracle/truffle/api/nodes/Node;)Z
            ifne 11
        10: .line 183
            iconst_1
            istore 1 /* needsMaterialization */
        11: .line 181
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            arraylength
            if_icmpge 13
            iload 1 /* needsMaterialization */
            ifeq 9
        end local 2 // int i
        13: .line 186
      StackMap locals:
      StackMap stack:
            iload 1 /* needsMaterialization */
            ireturn
        end local 1 // boolean needsMaterialization
        end local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   14     0                  this  Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            1   14     1  needsMaterialization  Z
            2    7     2                     i  I
            8   13     2                     i  I

  public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 191
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.ordered:Z
            ifeq 2
         1: .line 192
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.SwitchNode.executeOrdered:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            areturn
         2: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.SwitchNode.executeDefault:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            areturn
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            0    3     1  frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
    MethodParameters:
       Name  Flags
      frame  

  private java.lang.Object executeDefault(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 199
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.SwitchNode.identifyTargetCase:(Lcom/oracle/truffle/api/frame/VirtualFrame;)I
            istore 2 /* statementStartIndex */
        start local 2 // int statementStartIndex
         1: .line 200
            aload 0 /* this */
            aload 1 /* frame */
            iload 2 /* statementStartIndex */
            invokevirtual com.oracle.truffle.js.nodes.control.SwitchNode.executeStatements:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)Ljava/lang/Object;
            areturn
        end local 2 // int statementStartIndex
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            0    2     1                frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            1    2     2  statementStartIndex  I
    MethodParameters:
       Name  Flags
      frame  

  private int identifyTargetCase(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 206
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 207
      StackMap locals: int
      StackMap stack:
            aload 1 /* frame */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            iload 2 /* i */
            aaload
            invokestatic com.oracle.truffle.js.nodes.control.SwitchNode.executeConditionAsBoolean:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
            ifeq 4
         3: .line 208
            goto 6
         4: .line 206
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            arraylength
            if_icmplt 2
         6: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.jumptable:[I
            iload 2 /* i */
            iaload
            istore 3 /* statementStartIndex */
        start local 3 // int statementStartIndex
         7: .line 212
            iload 3 /* statementStartIndex */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(I)V
         8: .line 213
            iload 3 /* statementStartIndex */
            ireturn
        end local 3 // int statementStartIndex
        end local 2 // int i
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            0    9     1                frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            1    9     2                    i  I
            7    9     3  statementStartIndex  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.ExplodeLoop()
    MethodParameters:
       Name  Flags
      frame  

  private java.lang.Object executeStatements(com.oracle.truffle.api.frame.VirtualFrame, int);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;I)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        start local 2 // int statementStartIndex
         0: .line 218
            getstatic com.oracle.truffle.js.nodes.control.SwitchNode.EMPTY:Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         1: .line 219
            iconst_0
            istore 4 /* statementIndex */
        start local 4 // int statementIndex
         2: goto 6
         3: .line 220
      StackMap locals: java.lang.Object int
      StackMap stack:
            iload 4 /* statementIndex */
            iload 2 /* statementStartIndex */
            if_icmplt 5
         4: .line 221
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            iload 4 /* statementIndex */
            aaload
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 3 /* result */
         5: .line 219
      StackMap locals:
      StackMap stack:
            iinc 4 /* statementIndex */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* statementIndex */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            arraylength
            if_icmplt 3
        end local 4 // int statementIndex
         7: .line 224
            aload 3 /* result */
            areturn
        end local 3 // java.lang.Object result
        end local 2 // int statementStartIndex
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            0    8     1                frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            0    8     2  statementStartIndex  I
            1    8     3               result  Ljava/lang/Object;
            2    7     4       statementIndex  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.ExplodeLoop()
    MethodParameters:
                     Name  Flags
      frame                
      statementStartIndex  

  private java.lang.Object executeOrdered(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=12, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 229
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            astore 2 /* caseExpressionsLocal */
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode[] caseExpressionsLocal
         1: .line 230
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            astore 3 /* statementsLocal */
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] statementsLocal
         2: .line 231
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.jumptable:[I
            astore 4 /* jumptableLocal */
        start local 4 // int[] jumptableLocal
         3: .line 232
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.conditionProfiles:[Lcom/oracle/truffle/api/profiles/ConditionProfile;
            astore 5 /* conditionProfilesLocal */
        start local 5 // com.oracle.truffle.api.profiles.ConditionProfile[] conditionProfilesLocal
         4: .line 234
            iconst_0
            istore 6 /* caseFound */
        start local 6 // boolean caseFound
         5: .line 235
            getstatic com.oracle.truffle.js.nodes.control.SwitchNode.EMPTY:Ljava/lang/Object;
            astore 7 /* result */
        start local 7 // java.lang.Object result
         6: .line 238
            iconst_0
            istore 8 /* jumptableIdx */
        start local 8 // int jumptableIdx
         7: goto 22
         8: .line 239
      StackMap locals: com.oracle.truffle.js.nodes.control.SwitchNode com.oracle.truffle.api.frame.VirtualFrame com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.nodes.JavaScriptNode[] int[] com.oracle.truffle.api.profiles.ConditionProfile[] int java.lang.Object int
      StackMap stack:
            iload 6 /* caseFound */
            ifne 9
            aload 1 /* frame */
            aload 2 /* caseExpressionsLocal */
            iload 8 /* jumptableIdx */
            aaload
            invokestatic com.oracle.truffle.js.nodes.control.SwitchNode.executeConditionAsBoolean:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
            ifeq 10
         9: .line 240
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* caseFound */
        10: .line 243
      StackMap locals:
      StackMap stack:
            aload 4 /* jumptableLocal */
            iload 8 /* jumptableIdx */
            iaload
            istore 9 /* statementStartIndex */
        start local 9 // int statementStartIndex
        11: .line 244
            aload 4 /* jumptableLocal */
            iload 8 /* jumptableIdx */
            iconst_1
            iadd
            iaload
            istore 10 /* statementEndIndex */
        start local 10 // int statementEndIndex
        12: .line 245
            iload 9 /* statementStartIndex */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(I)V
        13: .line 246
            iload 10 /* statementEndIndex */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(I)V
        14: .line 247
            iload 9 /* statementStartIndex */
            iload 10 /* statementEndIndex */
            if_icmpeq 21
        15: .line 248
            aload 5 /* conditionProfilesLocal */
            iload 8 /* jumptableIdx */
            aaload
            iload 6 /* caseFound */
            invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 21
        16: .line 249
            iload 9 /* statementStartIndex */
            istore 11 /* statementIndex */
        start local 11 // int statementIndex
        17: goto 20
        18: .line 250
      StackMap locals: int int int
      StackMap stack:
            aload 3 /* statementsLocal */
            iload 11 /* statementIndex */
            aaload
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 7 /* result */
        19: .line 249
            iinc 11 /* statementIndex */ 1
      StackMap locals:
      StackMap stack:
        20: iload 11 /* statementIndex */
            iload 10 /* statementEndIndex */
            if_icmplt 18
        end local 11 // int statementIndex
        end local 10 // int statementEndIndex
        end local 9 // int statementStartIndex
        21: .line 238
      StackMap locals:
      StackMap stack:
            iinc 8 /* jumptableIdx */ 1
      StackMap locals:
      StackMap stack:
        22: iload 8 /* jumptableIdx */
            aload 2 /* caseExpressionsLocal */
            arraylength
            if_icmplt 8
        23: .line 257
            aload 4 /* jumptableLocal */
            iload 8 /* jumptableIdx */
            iaload
            istore 9 /* statementStartIndex */
        start local 9 // int statementStartIndex
        24: .line 258
            iload 9 /* statementStartIndex */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(I)V
        25: .line 259
            iload 9 /* statementStartIndex */
            istore 10 /* statementIndex */
        start local 10 // int statementIndex
        26: goto 29
        27: .line 260
      StackMap locals: int int
      StackMap stack:
            aload 3 /* statementsLocal */
            iload 10 /* statementIndex */
            aaload
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 7 /* result */
        28: .line 259
            iinc 10 /* statementIndex */ 1
      StackMap locals:
      StackMap stack:
        29: iload 10 /* statementIndex */
            aload 3 /* statementsLocal */
            arraylength
            if_icmplt 27
        end local 10 // int statementIndex
        30: .line 262
            aload 7 /* result */
            areturn
        end local 9 // int statementStartIndex
        end local 8 // int jumptableIdx
        end local 7 // java.lang.Object result
        end local 6 // boolean caseFound
        end local 5 // com.oracle.truffle.api.profiles.ConditionProfile[] conditionProfilesLocal
        end local 4 // int[] jumptableLocal
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] statementsLocal
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode[] caseExpressionsLocal
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   31     0                    this  Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            0   31     1                   frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            1   31     2    caseExpressionsLocal  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            2   31     3         statementsLocal  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            3   31     4          jumptableLocal  [I
            4   31     5  conditionProfilesLocal  [Lcom/oracle/truffle/api/profiles/ConditionProfile;
            5   31     6               caseFound  Z
            6   31     7                  result  Ljava/lang/Object;
            7   31     8            jumptableIdx  I
           11   21     9     statementStartIndex  I
           12   21    10       statementEndIndex  I
           17   21    11          statementIndex  I
           24   31     9     statementStartIndex  I
           26   30    10          statementIndex  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.ExplodeLoop()
    MethodParameters:
       Name  Flags
      frame  

  protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
    descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
        start local 1 // java.util.Set materializedTags
         0: .line 267
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.caseExpressions:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.control.SwitchNode.cloneUninitialized:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.jumptable:[I
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.SwitchNode.statements:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.control.SwitchNode.cloneUninitialized:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            invokestatic com.oracle.truffle.js.nodes.control.SwitchNode.create:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;[I[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            areturn
        end local 1 // java.util.Set materializedTags
        end local 0 // com.oracle.truffle.js.nodes.control.SwitchNode this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            0    1     1  materializedTags  Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
    Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                  Name  Flags
      materializedTags  
}
SourceFile: "SwitchNode.java"
InnerClasses:
  public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
  public abstract Children = com.oracle.truffle.api.nodes.Node$Children of com.oracle.truffle.api.nodes.Node
  public final ControlFlowBlockTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowBlockTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
  public final ControlFlowBranchTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowBranchTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
  public final Type = com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowBranchTag$Type of com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowBranchTag
  public final ControlFlowRootTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowRootTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
  public final Type = com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowRootTag$Type of com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowRootTag
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.NodeInfo(shortName = "switch")