public class com.oracle.graal.python.parser.ScopeEnvironment implements com.oracle.graal.python.parser.CellFrameSlotSupplier
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.graal.python.parser.ScopeEnvironment
  super_class: java.lang.Object
{
  public static final java.lang.String CLASS_VAR_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "<>class"

  public static final java.lang.String LAMBDA_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "<lambda>"

  public static final java.lang.String GENEXPR_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "<genexpr>"

  public static int CLASS_VAR_PREFIX_IDX;
    descriptor: I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  private final com.oracle.graal.python.nodes.NodeFactory factory;
    descriptor: Lcom/oracle/graal/python/nodes/NodeFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.oracle.graal.python.parser.ScopeInfo currentScope;
    descriptor: Lcom/oracle/graal/python/parser/ScopeInfo;
    flags: (0x0002) ACC_PRIVATE

  private com.oracle.graal.python.parser.ScopeInfo globalScope;
    descriptor: Lcom/oracle/graal/python/parser/ScopeInfo;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.HashMap<java.lang.String, java.util.List<com.oracle.graal.python.parser.ScopeInfo>> unresolvedVars;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/util/List<Lcom/oracle/graal/python/parser/ScopeInfo;>;>;

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

  private static volatile int[] $SWITCH_TABLE$com$oracle$graal$python$parser$ScopeInfo$ScopeKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, 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/graal/python/parser/ScopeEnvironment;
            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.graal.python.parser.ScopeEnvironment.$assertionsDisabled:Z
         3: .line 77
            ldc "<>class"
            invokevirtual java.lang.String.length:()I
            putstatic com.oracle.graal.python.parser.ScopeEnvironment.CLASS_VAR_PREFIX_IDX:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.oracle.graal.python.nodes.NodeFactory);
    descriptor: (Lcom/oracle/graal/python/nodes/NodeFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // com.oracle.graal.python.nodes.NodeFactory factory
         0: .line 86
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.graal.python.parser.ScopeEnvironment.unresolvedVars:Ljava/util/HashMap;
         2: .line 87
            aload 0 /* this */
            aload 1 /* factory */
            putfield com.oracle.graal.python.parser.ScopeEnvironment.factory:Lcom/oracle/graal/python/nodes/NodeFactory;
         3: .line 88
            return
        end local 1 // com.oracle.graal.python.nodes.NodeFactory factory
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    4     1  factory  Lcom/oracle/graal/python/nodes/NodeFactory;
    MethodParameters:
         Name  Flags
      factory  

  public com.oracle.graal.python.parser.ScopeInfo getCurrentScope();
    descriptor: ()Lcom/oracle/graal/python/parser/ScopeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 91
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            areturn
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;

  public com.oracle.graal.python.parser.ScopeInfo pushScope(java.lang.String, com.oracle.graal.python.parser.ScopeInfo$ScopeKind);
    descriptor: (Ljava/lang/String;Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;)Lcom/oracle/graal/python/parser/ScopeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
        start local 2 // com.oracle.graal.python.parser.ScopeInfo$ScopeKind kind
         0: .line 95
            aload 2 /* kind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Function:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpne 5
            aload 1 /* name */
            ldc "<lambda>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
         1: .line 96
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.getCurrentScope:()Lcom/oracle/graal/python/parser/ScopeInfo;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getScopeKind:()Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Class:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpne 3
         2: .line 97
            new java.lang.StringBuilder
            dup
            ldc "<>class"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 4
         3: .line 98
      StackMap locals:
      StackMap stack: com.oracle.graal.python.parser.ScopeEnvironment
            aload 1 /* name */
         4: .line 96
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment java.lang.String com.oracle.graal.python.parser.ScopeInfo$ScopeKind
      StackMap stack: com.oracle.graal.python.parser.ScopeEnvironment java.lang.String
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.createLocal:(Ljava/lang/String;)V
         5: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* kind */
            aconst_null
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.pushScope:(Ljava/lang/String;Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/graal/python/parser/ScopeInfo;
            areturn
        end local 2 // com.oracle.graal.python.parser.ScopeInfo$ScopeKind kind
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    6     1  name  Ljava/lang/String;
            0    6     2  kind  Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
    MethodParameters:
      Name  Flags
      name  
      kind  

  public com.oracle.graal.python.parser.ScopeInfo pushScope(java.lang.String, com.oracle.graal.python.parser.ScopeInfo$ScopeKind, com.oracle.truffle.api.frame.FrameDescriptor);
    descriptor: (Ljava/lang/String;Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/graal/python/parser/ScopeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
        start local 2 // com.oracle.graal.python.parser.ScopeInfo$ScopeKind kind
        start local 3 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
         0: .line 104
            new com.oracle.graal.python.parser.ScopeInfo
            dup
            aload 1 /* name */
            aload 2 /* kind */
            aload 3 /* frameDescriptor */
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            invokespecial com.oracle.graal.python.parser.ScopeInfo.<init>:(Ljava/lang/String;Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/graal/python/parser/ScopeInfo;)V
            astore 4 /* newScope */
        start local 4 // com.oracle.graal.python.parser.ScopeInfo newScope
         1: .line 105
            aload 0 /* this */
            aload 4 /* newScope */
            putfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
         2: .line 106
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.globalScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            ifnonnull 4
         3: .line 107
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            putfield com.oracle.graal.python.parser.ScopeEnvironment.globalScope:Lcom/oracle/graal/python/parser/ScopeInfo;
         4: .line 109
      StackMap locals: com.oracle.graal.python.parser.ScopeInfo
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            areturn
        end local 4 // com.oracle.graal.python.parser.ScopeInfo newScope
        end local 3 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        end local 2 // com.oracle.graal.python.parser.ScopeInfo$ScopeKind kind
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    5     1             name  Ljava/lang/String;
            0    5     2             kind  Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            0    5     3  frameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
            1    5     4         newScope  Lcom/oracle/graal/python/parser/ScopeInfo;
    MethodParameters:
                 Name  Flags
      name             
      kind             
      frameDescriptor  

  public com.oracle.graal.python.parser.ScopeInfo popScope();
    descriptor: ()Lcom/oracle/graal/python/parser/ScopeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=14, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 113
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            astore 1 /* definingScope */
        start local 1 // com.oracle.graal.python.parser.ScopeInfo definingScope
         1: .line 114
            aload 1 /* definingScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getIdentifiers:()Ljava/util/Set;
            astore 2 /* identifiers */
        start local 2 // java.util.Set identifiers
         2: .line 115
            aload 1 /* definingScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getSeenVars:()Ljava/util/Set;
            astore 3 /* localySeenVars */
        start local 3 // java.util.Set localySeenVars
         3: .line 116
            aload 1 /* definingScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getScopeKind:()Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            astore 4 /* definingScopeKind */
        start local 4 // com.oracle.graal.python.parser.ScopeInfo$ScopeKind definingScopeKind
         4: .line 117
            aload 3 /* localySeenVars */
            ifnonnull 5
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.unresolvedVars:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 19
         5: .line 118
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind
      StackMap stack:
            aload 2 /* identifiers */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 18
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* identifier */
        start local 5 // java.lang.Object identifier
         7: .line 119
            aload 5 /* identifier */
            instanceof java.lang.String
            ifeq 8
            aload 5 /* identifier */
            checkcast java.lang.String
            goto 9
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind java.lang.Object java.util.Iterator
      StackMap stack:
         8: aload 5 /* identifier */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         9: astore 7 /* name */
        start local 7 // java.lang.String name
        10: .line 121
            aload 3 /* localySeenVars */
            ifnull 15
        11: .line 123
            aload 4 /* definingScopeKind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Class:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpne 14
            aload 7 /* name */
            ldc "<>class"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
        12: .line 124
            aload 3 /* localySeenVars */
            aload 7 /* name */
            getstatic com.oracle.graal.python.parser.ScopeEnvironment.CLASS_VAR_PREFIX_IDX:I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        13: .line 125
            goto 15
        14: .line 126
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* localySeenVars */
            aload 7 /* name */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        15: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.unresolvedVars:Ljava/util/HashMap;
            aload 7 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 8 /* usedInScopes */
        start local 8 // java.util.List usedInScopes
        16: .line 132
            aload 8 /* usedInScopes */
            ifnull 18
            aload 4 /* definingScopeKind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Module:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpne 17
            aload 1 /* definingScope */
            aload 7 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.findFrameSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            ifnonnull 18
        17: .line 133
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 8 /* usedInScopes */
            aload 1 /* definingScope */
            aload 7 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.createCellAndFreeVars:(Ljava/util/List;Lcom/oracle/graal/python/parser/ScopeInfo;Ljava/lang/String;)V
        end local 8 // java.util.List usedInScopes
        end local 7 // java.lang.String name
        end local 5 // java.lang.Object identifier
        18: .line 118
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        19: .line 138
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind
      StackMap stack:
            aload 4 /* definingScopeKind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Class:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpne 47
        20: .line 139
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.unresolvedVars:Ljava/util/HashMap;
            ldc "__class__"
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 24
        21: .line 142
            ldc "__class__"
            astore 5 /* name */
        start local 5 // java.lang.String name
        22: .line 143
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.unresolvedVars:Ljava/util/HashMap;
            aload 5 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 6 /* usedInScopes */
        start local 6 // java.util.List usedInScopes
        23: .line 144
            aload 0 /* this */
            aload 6 /* usedInScopes */
            aload 1 /* definingScope */
            aload 5 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.createCellAndFreeVars:(Ljava/util/List;Lcom/oracle/graal/python/parser/ScopeInfo;Ljava/lang/String;)V
        end local 6 // java.util.List usedInScopes
        end local 5 // java.lang.String name
        24: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.unresolvedVars:Ljava/util/HashMap;
            ldc "super"
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 47
        25: .line 149
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.unresolvedVars:Ljava/util/HashMap;
            ldc "super"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 5 /* usedInScopes */
        start local 5 // java.util.List usedInScopes
        26: .line 150
            new java.util.ArrayList
            dup
            aload 5 /* usedInScopes */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 6 /* copy */
        start local 6 // java.util.List copy
        27: .line 151
            aload 6 /* copy */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 44
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        28: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.python.parser.ScopeInfo
            astore 7 /* scope */
        start local 7 // com.oracle.graal.python.parser.ScopeInfo scope
        29: .line 152
            aload 7 /* scope */
            ifnull 44
        30: .line 154
            aload 7 /* scope */
            astore 9 /* tmpScope */
        start local 9 // com.oracle.graal.python.parser.ScopeInfo tmpScope
        31: .line 155
            aload 1 /* definingScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getParent:()Lcom/oracle/graal/python/parser/ScopeInfo;
            astore 10 /* parentDefiningScope */
        start local 10 // com.oracle.graal.python.parser.ScopeInfo parentDefiningScope
        32: .line 156
            goto 34
        33: .line 157
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind java.util.List java.util.List com.oracle.graal.python.parser.ScopeInfo java.util.Iterator com.oracle.graal.python.parser.ScopeInfo com.oracle.graal.python.parser.ScopeInfo
      StackMap stack:
            aload 9 /* tmpScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getParent:()Lcom/oracle/graal/python/parser/ScopeInfo;
            astore 9 /* tmpScope */
        34: .line 156
      StackMap locals:
      StackMap stack:
            aload 9 /* tmpScope */
            ifnull 35
            aload 9 /* tmpScope */
            aload 1 /* definingScope */
            if_acmpeq 35
            aload 9 /* tmpScope */
            aload 10 /* parentDefiningScope */
            if_acmpne 33
        35: .line 159
      StackMap locals:
      StackMap stack:
            aload 1 /* definingScope */
            aload 9 /* tmpScope */
            if_acmpne 44
        36: .line 160
            aload 5 /* usedInScopes */
            aload 7 /* scope */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        37: .line 161
            aload 7 /* scope */
            ldc "__class__"
            iconst_1
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.addFreeVar:(Ljava/lang/String;Z)V
        38: .line 162
            aload 1 /* definingScope */
            ldc "__class__"
            iconst_1
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.addCellVar:(Ljava/lang/String;Z)V
        39: .line 163
            aload 7 /* scope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getParent:()Lcom/oracle/graal/python/parser/ScopeInfo;
            astore 7 /* scope */
        40: .line 164
            goto 43
        41: .line 165
      StackMap locals:
      StackMap stack:
            aload 7 /* scope */
            ldc "__class__"
            iconst_1
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.addFreeVar:(Ljava/lang/String;Z)V
        42: .line 166
            aload 7 /* scope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getParent:()Lcom/oracle/graal/python/parser/ScopeInfo;
            astore 7 /* scope */
        43: .line 164
      StackMap locals:
      StackMap stack:
            aload 7 /* scope */
            ifnull 44
            aload 7 /* scope */
            aload 1 /* definingScope */
            if_acmpeq 44
            aload 7 /* scope */
            ldc "__class__"
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.findFrameSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            ifnull 41
            aload 7 /* scope */
            ldc "__class__"
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.isFreeVar:(Ljava/lang/String;)Z
            ifeq 41
        end local 10 // com.oracle.graal.python.parser.ScopeInfo parentDefiningScope
        end local 9 // com.oracle.graal.python.parser.ScopeInfo tmpScope
        end local 7 // com.oracle.graal.python.parser.ScopeInfo scope
        44: .line 151
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        45: .line 171
            aload 5 /* usedInScopes */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 47
        46: .line 172
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.unresolvedVars:Ljava/util/HashMap;
            ldc "super"
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.util.List copy
        end local 5 // java.util.List usedInScopes
        47: .line 178
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind
      StackMap stack:
            aload 3 /* localySeenVars */
            ifnull 58
            aload 3 /* localySeenVars */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 58
            aload 4 /* definingScopeKind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Module:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpeq 58
        48: .line 181
            aload 3 /* localySeenVars */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 56
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind top top java.util.Iterator
      StackMap stack:
        49: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* varName */
        start local 6 // java.lang.String varName
        50: .line 182
            aload 0 /* this */
            aload 6 /* varName */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isGlobal:(Ljava/lang/String;)Z
            ifne 56
        51: .line 183
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.unresolvedVars:Ljava/util/HashMap;
            aload 6 /* varName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 5 /* usedInScopes */
        start local 5 // java.util.List usedInScopes
        52: .line 184
            aload 5 /* usedInScopes */
            ifnonnull 55
        53: .line 185
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* usedInScopes */
        54: .line 186
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.unresolvedVars:Ljava/util/HashMap;
            aload 6 /* varName */
            aload 5 /* usedInScopes */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        55: .line 188
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind java.util.List java.lang.String java.util.Iterator
      StackMap stack:
            aload 5 /* usedInScopes */
            aload 1 /* definingScope */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String varName
        end local 5 // java.util.List usedInScopes
        56: .line 181
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind top top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 49
        57: .line 192
            aload 3 /* localySeenVars */
            invokeinterface java.util.Set.clear:()V
        58: .line 195
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind
      StackMap stack:
            aload 4 /* definingScopeKind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Class:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpne 72
        59: .line 196
            iconst_0
            istore 5 /* copy */
        start local 5 // boolean copy
        60: .line 197
            aload 2 /* identifiers */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 68
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind int top java.util.Iterator
      StackMap stack:
        61: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* identifier */
        start local 6 // java.lang.Object identifier
        62: .line 198
            aload 6 /* identifier */
            checkcast java.lang.String
            astore 8 /* name */
        start local 8 // java.lang.String name
        63: .line 199
            aload 8 /* name */
            ldc "<>class"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 68
        64: .line 200
            aload 1 /* definingScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
            aload 6 /* identifier */
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.removeFrameSlot:(Ljava/lang/Object;)V
        65: .line 201
            aload 8 /* name */
            getstatic com.oracle.graal.python.parser.ScopeEnvironment.CLASS_VAR_PREFIX_IDX:I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 8 /* name */
        66: .line 202
            aload 1 /* definingScope */
            aload 8 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.createSlotIfNotPresent:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            pop
        67: .line 203
            iconst_1
            istore 5 /* copy */
        end local 8 // java.lang.String name
        end local 6 // java.lang.Object identifier
        68: .line 197
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 61
        69: .line 206
            iload 5 /* copy */
            ifeq 90
        70: .line 208
            aload 1 /* definingScope */
            aload 1 /* definingScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.copy:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.setFrameDescriptor:(Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
        end local 5 // boolean copy
        71: .line 210
            goto 90
        72: .line 211
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind
      StackMap stack:
            aload 1 /* definingScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.hasExplicitGlobalVariables:()Z
            ifeq 90
        73: .line 212
            aload 1 /* definingScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getExplicitGlobalVariables:()Ljava/util/Set;
            astore 5 /* globalsVariables */
        start local 5 // java.util.Set globalsVariables
        74: .line 214
            aload 5 /* globalsVariables */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 89
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind java.util.Set top top java.util.Iterator
      StackMap stack:
        75: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* varName */
        start local 7 // java.lang.String varName
        76: .line 215
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.unresolvedVars:Ljava/util/HashMap;
            aload 7 /* varName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 6 /* usedInScopes */
        start local 6 // java.util.List usedInScopes
        77: .line 220
            aload 6 /* usedInScopes */
            ifnull 89
        78: .line 221
            new java.util.ArrayList
            dup
            aload 6 /* usedInScopes */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 9 /* copy */
        start local 9 // java.util.List copy
        79: .line 222
            aload 9 /* copy */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 88
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind java.util.Set java.util.List java.lang.String java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
        80: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.python.parser.ScopeInfo
            astore 10 /* scope */
        start local 10 // com.oracle.graal.python.parser.ScopeInfo scope
        81: .line 223
            aload 10 /* scope */
            astore 12 /* tmpScope */
        start local 12 // com.oracle.graal.python.parser.ScopeInfo tmpScope
        82: .line 224
            aload 1 /* definingScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getParent:()Lcom/oracle/graal/python/parser/ScopeInfo;
            astore 13 /* parentDefiningScope */
        start local 13 // com.oracle.graal.python.parser.ScopeInfo parentDefiningScope
        83: .line 225
            goto 85
        84: .line 226
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind java.util.Set java.util.List java.lang.String java.util.Iterator java.util.List com.oracle.graal.python.parser.ScopeInfo java.util.Iterator com.oracle.graal.python.parser.ScopeInfo com.oracle.graal.python.parser.ScopeInfo
      StackMap stack:
            aload 12 /* tmpScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getParent:()Lcom/oracle/graal/python/parser/ScopeInfo;
            astore 12 /* tmpScope */
        85: .line 225
      StackMap locals:
      StackMap stack:
            aload 12 /* tmpScope */
            ifnull 86
            aload 12 /* tmpScope */
            aload 1 /* definingScope */
            if_acmpeq 86
            aload 12 /* tmpScope */
            aload 13 /* parentDefiningScope */
            if_acmpne 84
        86: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* definingScope */
            aload 12 /* tmpScope */
            if_acmpne 88
        87: .line 229
            aload 6 /* usedInScopes */
            aload 10 /* scope */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        end local 13 // com.oracle.graal.python.parser.ScopeInfo parentDefiningScope
        end local 12 // com.oracle.graal.python.parser.ScopeInfo tmpScope
        end local 10 // com.oracle.graal.python.parser.ScopeInfo scope
        88: .line 222
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind java.util.Set java.util.List java.lang.String java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 80
        end local 9 // java.util.List copy
        end local 7 // java.lang.String varName
        end local 6 // java.util.List usedInScopes
        89: .line 214
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind java.util.Set top top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 75
        end local 5 // java.util.Set globalsVariables
        90: .line 236
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.graal.python.parser.ScopeInfo java.util.Set java.util.Set com.oracle.graal.python.parser.ScopeInfo$ScopeKind
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getParent:()Lcom/oracle/graal/python/parser/ScopeInfo;
            putfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
        91: .line 237
            aload 1 /* definingScope */
            areturn
        end local 4 // com.oracle.graal.python.parser.ScopeInfo$ScopeKind definingScopeKind
        end local 3 // java.util.Set localySeenVars
        end local 2 // java.util.Set identifiers
        end local 1 // com.oracle.graal.python.parser.ScopeInfo definingScope
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   92     0                 this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            1   92     1        definingScope  Lcom/oracle/graal/python/parser/ScopeInfo;
            2   92     2          identifiers  Ljava/util/Set<Ljava/lang/Object;>;
            3   92     3       localySeenVars  Ljava/util/Set<Ljava/lang/String;>;
            4   92     4    definingScopeKind  Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            7   18     5           identifier  Ljava/lang/Object;
           10   18     7                 name  Ljava/lang/String;
           16   18     8         usedInScopes  Ljava/util/List<Lcom/oracle/graal/python/parser/ScopeInfo;>;
           22   24     5                 name  Ljava/lang/String;
           23   24     6         usedInScopes  Ljava/util/List<Lcom/oracle/graal/python/parser/ScopeInfo;>;
           26   47     5         usedInScopes  Ljava/util/List<Lcom/oracle/graal/python/parser/ScopeInfo;>;
           27   47     6                 copy  Ljava/util/List<Lcom/oracle/graal/python/parser/ScopeInfo;>;
           29   44     7                scope  Lcom/oracle/graal/python/parser/ScopeInfo;
           31   44     9             tmpScope  Lcom/oracle/graal/python/parser/ScopeInfo;
           32   44    10  parentDefiningScope  Lcom/oracle/graal/python/parser/ScopeInfo;
           52   56     5         usedInScopes  Ljava/util/List<Lcom/oracle/graal/python/parser/ScopeInfo;>;
           50   56     6              varName  Ljava/lang/String;
           60   71     5                 copy  Z
           62   68     6           identifier  Ljava/lang/Object;
           63   68     8                 name  Ljava/lang/String;
           74   90     5     globalsVariables  Ljava/util/Set<Ljava/lang/String;>;
           77   89     6         usedInScopes  Ljava/util/List<Lcom/oracle/graal/python/parser/ScopeInfo;>;
           76   89     7              varName  Ljava/lang/String;
           79   89     9                 copy  Ljava/util/List<Lcom/oracle/graal/python/parser/ScopeInfo;>;
           81   88    10                scope  Lcom/oracle/graal/python/parser/ScopeInfo;
           82   88    12             tmpScope  Lcom/oracle/graal/python/parser/ScopeInfo;
           83   88    13  parentDefiningScope  Lcom/oracle/graal/python/parser/ScopeInfo;

  private void createCellAndFreeVars(java.util.List<com.oracle.graal.python.parser.ScopeInfo>, com.oracle.graal.python.parser.ScopeInfo, java.lang.String);
    descriptor: (Ljava/util/List;Lcom/oracle/graal/python/parser/ScopeInfo;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.util.List usedInScopes
        start local 2 // com.oracle.graal.python.parser.ScopeInfo definingScope
        start local 3 // java.lang.String name
         0: .line 242
            new java.util.ArrayList
            dup
            aload 1 /* usedInScopes */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 4 /* copy */
        start local 4 // java.util.List copy
         1: .line 243
            aload 4 /* copy */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 18
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment java.util.List com.oracle.graal.python.parser.ScopeInfo java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.python.parser.ScopeInfo
            astore 5 /* scope */
        start local 5 // com.oracle.graal.python.parser.ScopeInfo scope
         3: .line 244
            aload 5 /* scope */
            ifnull 18
         4: .line 246
            aload 5 /* scope */
            astore 7 /* tmpScope */
        start local 7 // com.oracle.graal.python.parser.ScopeInfo tmpScope
         5: .line 247
            aload 2 /* definingScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getParent:()Lcom/oracle/graal/python/parser/ScopeInfo;
            astore 8 /* parentDefiningScope */
        start local 8 // com.oracle.graal.python.parser.ScopeInfo parentDefiningScope
         6: .line 248
            goto 8
         7: .line 249
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment java.util.List com.oracle.graal.python.parser.ScopeInfo java.lang.String java.util.List com.oracle.graal.python.parser.ScopeInfo java.util.Iterator com.oracle.graal.python.parser.ScopeInfo com.oracle.graal.python.parser.ScopeInfo
      StackMap stack:
            aload 7 /* tmpScope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getParent:()Lcom/oracle/graal/python/parser/ScopeInfo;
            astore 7 /* tmpScope */
         8: .line 248
      StackMap locals:
      StackMap stack:
            aload 7 /* tmpScope */
            ifnull 9
            aload 7 /* tmpScope */
            aload 2 /* definingScope */
            if_acmpeq 9
            aload 7 /* tmpScope */
            aload 8 /* parentDefiningScope */
            if_acmpne 7
         9: .line 251
      StackMap locals:
      StackMap stack:
            aload 2 /* definingScope */
            aload 7 /* tmpScope */
            if_acmpne 18
        10: .line 252
            aload 1 /* usedInScopes */
            aload 5 /* scope */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        11: .line 253
            aload 5 /* scope */
            aload 3 /* name */
            iconst_1
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.addFreeVar:(Ljava/lang/String;Z)V
        12: .line 254
            aload 2 /* definingScope */
            aload 3 /* name */
            iconst_1
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.addCellVar:(Ljava/lang/String;Z)V
        13: .line 255
            aload 5 /* scope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getParent:()Lcom/oracle/graal/python/parser/ScopeInfo;
            astore 5 /* scope */
        14: .line 256
            goto 17
        15: .line 257
      StackMap locals:
      StackMap stack:
            aload 5 /* scope */
            aload 3 /* name */
            iconst_1
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.addFreeVar:(Ljava/lang/String;Z)V
        16: .line 258
            aload 5 /* scope */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getParent:()Lcom/oracle/graal/python/parser/ScopeInfo;
            astore 5 /* scope */
        17: .line 256
      StackMap locals:
      StackMap stack:
            aload 5 /* scope */
            ifnull 18
            aload 5 /* scope */
            aload 2 /* definingScope */
            if_acmpeq 18
            aload 5 /* scope */
            aload 3 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.findFrameSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            ifnull 15
            aload 5 /* scope */
            aload 3 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.isFreeVar:(Ljava/lang/String;)Z
            ifeq 15
        end local 8 // com.oracle.graal.python.parser.ScopeInfo parentDefiningScope
        end local 7 // com.oracle.graal.python.parser.ScopeInfo tmpScope
        end local 5 // com.oracle.graal.python.parser.ScopeInfo scope
        18: .line 243
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment java.util.List com.oracle.graal.python.parser.ScopeInfo java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        19: .line 263
            aload 1 /* usedInScopes */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 21
        20: .line 264
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.unresolvedVars:Ljava/util/HashMap;
            aload 3 /* name */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 266
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment java.util.List com.oracle.graal.python.parser.ScopeInfo java.lang.String java.util.List
      StackMap stack:
            return
        end local 4 // java.util.List copy
        end local 3 // java.lang.String name
        end local 2 // com.oracle.graal.python.parser.ScopeInfo definingScope
        end local 1 // java.util.List usedInScopes
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   22     0                 this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0   22     1         usedInScopes  Ljava/util/List<Lcom/oracle/graal/python/parser/ScopeInfo;>;
            0   22     2        definingScope  Lcom/oracle/graal/python/parser/ScopeInfo;
            0   22     3                 name  Ljava/lang/String;
            1   22     4                 copy  Ljava/util/List<Lcom/oracle/graal/python/parser/ScopeInfo;>;
            3   18     5                scope  Lcom/oracle/graal/python/parser/ScopeInfo;
            5   18     7             tmpScope  Lcom/oracle/graal/python/parser/ScopeInfo;
            6   18     8  parentDefiningScope  Lcom/oracle/graal/python/parser/ScopeInfo;
    Signature: (Ljava/util/List<Lcom/oracle/graal/python/parser/ScopeInfo;>;Lcom/oracle/graal/python/parser/ScopeInfo;Ljava/lang/String;)V
    MethodParameters:
               Name  Flags
      usedInScopes   
      definingScope  
      name           

  public void addSeenVar(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 269
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.addSeenVar:(Ljava/lang/String;)V
         1: .line 270
            return
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public boolean atModuleLevel();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 273
            getstatic com.oracle.graal.python.parser.ScopeEnvironment.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.globalScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            if_acmpne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;

  public com.oracle.graal.python.parser.ScopeInfo$ScopeKind getScopeKind();
    descriptor: ()Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 278
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getScopeKind:()Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            areturn
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;

  private boolean isCellInCurrentScope(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 282
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.isFreeVar:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.isCellVar:(Ljava/lang/String;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public boolean isInFunctionScope();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 286
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.getScopeKind:()Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            astore 1 /* kind */
        start local 1 // com.oracle.graal.python.parser.ScopeInfo$ScopeKind kind
         1: .line 287
            aload 1 /* kind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Function:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpeq 4
            aload 1 /* kind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Generator:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpeq 4
            aload 1 /* kind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.DictComp:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpeq 4
            aload 1 /* kind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.GenExp:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpeq 4
         2: .line 288
            aload 1 /* kind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ListComp:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpeq 4
            aload 1 /* kind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.SetComp:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpeq 4
         3: .line 287
            iconst_0
            ireturn
      StackMap locals: com.oracle.graal.python.parser.ScopeInfo$ScopeKind
      StackMap stack:
         4: iconst_1
            ireturn
        end local 1 // com.oracle.graal.python.parser.ScopeInfo$ScopeKind kind
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            1    5     1  kind  Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;

  public boolean isInGeneratorScope();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 292
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.getScopeKind:()Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            astore 1 /* kind */
        start local 1 // com.oracle.graal.python.parser.ScopeInfo$ScopeKind kind
         1: .line 293
            aload 1 /* kind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Generator:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpeq 4
            aload 1 /* kind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.DictComp:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpeq 4
            aload 1 /* kind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.GenExp:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpeq 4
            aload 1 /* kind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ListComp:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpeq 4
         2: .line 294
            aload 1 /* kind */
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.SetComp:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpeq 4
         3: .line 293
            iconst_0
            ireturn
      StackMap locals: com.oracle.graal.python.parser.ScopeInfo$ScopeKind
      StackMap stack:
         4: iconst_1
            ireturn
        end local 1 // com.oracle.graal.python.parser.ScopeInfo$ScopeKind kind
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            1    5     1  kind  Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;

  public boolean isGlobal(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 298
            getstatic com.oracle.graal.python.parser.ScopeEnvironment.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "name is null!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.isExplicitGlobalVariable:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public com.oracle.graal.python.parser.ScopeInfo getGlobalScope();
    descriptor: ()Lcom/oracle/graal/python/parser/ScopeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 303
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.globalScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            areturn
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;

  public void setGlobalScope(com.oracle.graal.python.parser.ScopeInfo);
    descriptor: (Lcom/oracle/graal/python/parser/ScopeInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // com.oracle.graal.python.parser.ScopeInfo info
         0: .line 307
            aload 0 /* this */
            aload 1 /* info */
            putfield com.oracle.graal.python.parser.ScopeEnvironment.globalScope:Lcom/oracle/graal/python/parser/ScopeInfo;
         1: .line 308
            aload 0 /* this */
            aload 1 /* info */
            putfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
         2: .line 309
            return
        end local 1 // com.oracle.graal.python.parser.ScopeInfo info
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    3     1  info  Lcom/oracle/graal/python/parser/ScopeInfo;
    MethodParameters:
      Name  Flags
      info  

  public boolean isNonlocal(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 312
            getstatic com.oracle.graal.python.parser.ScopeEnvironment.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "name is null!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.isExplicitNonlocalVariable:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public com.oracle.truffle.api.frame.FrameSlot createAndReturnLocal(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 317
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.createSlotIfNotPresent:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public com.oracle.truffle.api.frame.FrameSlot getReturnSlot();
    descriptor: ()Lcom/oracle/truffle/api/frame/FrameSlot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 321
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            ldc "<return_val>"
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.createSlotIfNotPresent:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            areturn
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;

  public com.oracle.truffle.api.frame.FrameDescriptor getCurrentFrame();
    descriptor: ()Lcom/oracle/truffle/api/frame/FrameDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 325
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
            astore 1 /* frameDescriptor */
        start local 1 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
         1: .line 326
            getstatic com.oracle.graal.python.parser.ScopeEnvironment.$assertionsDisabled:Z
            ifne 2
            aload 1 /* frameDescriptor */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 327
      StackMap locals: com.oracle.truffle.api.frame.FrameDescriptor
      StackMap stack:
            aload 1 /* frameDescriptor */
            areturn
        end local 1 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            1    3     1  frameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;

  public com.oracle.graal.python.parser.ExecutionCellSlots getExecutionCellSlots();
    descriptor: ()Lcom/oracle/graal/python/parser/ExecutionCellSlots;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 331
            new com.oracle.graal.python.parser.ExecutionCellSlots
            dup
            aload 0 /* this */
            invokespecial com.oracle.graal.python.parser.ExecutionCellSlots.<init>:(Lcom/oracle/graal/python/parser/CellFrameSlotSupplier;)V
            areturn
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;

  public com.oracle.graal.python.parser.DefinitionCellSlots getDefinitionCellSlots();
    descriptor: ()Lcom/oracle/graal/python/parser/DefinitionCellSlots;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 335
            new com.oracle.graal.python.parser.DefinitionCellSlots
            dup
            aload 0 /* this */
            invokespecial com.oracle.graal.python.parser.DefinitionCellSlots.<init>:(Lcom/oracle/graal/python/parser/CellFrameSlotSupplier;)V
            areturn
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;

  public void createLocal(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 339
            getstatic com.oracle.graal.python.parser.ScopeEnvironment.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "name is null!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getScopeKind:()Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Module:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpne 3
         2: .line 341
            return
         3: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isGlobal:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 344
            return
         5: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isNonlocal:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 347
            return
         7: .line 349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.createAndReturnLocal:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            pop
         8: .line 350
            return
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    9     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public com.oracle.graal.python.nodes.frame.ReadNode findVariableNodeModule(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 353
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.isFreeVar:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 356
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.findFrameSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            astore 2 /* cellSlot */
        start local 2 // com.oracle.truffle.api.frame.FrameSlot cellSlot
         2: .line 357
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.factory:Lcom/oracle/graal/python/nodes/NodeFactory;
            aload 2 /* cellSlot */
            iconst_1
            invokevirtual com.oracle.graal.python.nodes.NodeFactory.createReadLocalCell:(Lcom/oracle/truffle/api/frame/FrameSlot;Z)Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
            checkcast com.oracle.graal.python.nodes.frame.ReadNode
            areturn
        end local 2 // com.oracle.truffle.api.frame.FrameSlot cellSlot
         3: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.factory:Lcom/oracle/graal/python/nodes/NodeFactory;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.nodes.NodeFactory.createLoadName:(Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    4     1      name  Ljava/lang/String;
            2    3     2  cellSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
      Name  Flags
      name  

  private com.oracle.graal.python.nodes.frame.ReadNode findVariableInGlobalOrBuiltinScope(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 363
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.factory:Lcom/oracle/graal/python/nodes/NodeFactory;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.nodes.NodeFactory.createReadGlobalOrBuiltinScope:(Ljava/lang/String;)Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
            checkcast com.oracle.graal.python.nodes.frame.ReadNode
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private com.oracle.graal.python.nodes.frame.ReadNode findVariableInLocalOrEnclosingScopes(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 367
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.findFrameSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            astore 2 /* slot */
        start local 2 // com.oracle.truffle.api.frame.FrameSlot slot
         1: .line 368
            aload 2 /* slot */
            ifnull 3
         2: .line 369
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* slot */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.getReadNode:(Ljava/lang/String;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/graal/python/nodes/PNode;
            checkcast com.oracle.graal.python.nodes.frame.ReadNode
            areturn
         3: .line 371
      StackMap locals: com.oracle.truffle.api.frame.FrameSlot
      StackMap stack:
            aconst_null
            areturn
        end local 2 // com.oracle.truffle.api.frame.FrameSlot slot
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    4     1  name  Ljava/lang/String;
            1    4     2  slot  Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
      Name  Flags
      name  

  private com.oracle.graal.python.nodes.frame.ReadNode findVariableNodeLEGB(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 376
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.findVariableInLocalOrEnclosingScopes:(Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
            astore 2 /* readNode */
        start local 2 // com.oracle.graal.python.nodes.frame.ReadNode readNode
         1: .line 377
            aload 2 /* readNode */
            ifnull 3
         2: .line 378
            aload 2 /* readNode */
            areturn
         3: .line 382
      StackMap locals: com.oracle.graal.python.nodes.frame.ReadNode
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.findVariableInGlobalOrBuiltinScope:(Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
            areturn
        end local 2 // com.oracle.graal.python.nodes.frame.ReadNode readNode
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    4     1      name  Ljava/lang/String;
            1    4     2  readNode  Lcom/oracle/graal/python/nodes/frame/ReadNode;
    MethodParameters:
      Name  Flags
      name  

  private com.oracle.graal.python.nodes.frame.ReadNode findVariableNodeInGenerator(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 387
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.findFrameSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            astore 2 /* slot */
        start local 2 // com.oracle.truffle.api.frame.FrameSlot slot
         1: .line 388
            aload 2 /* slot */
            ifnull 3
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isCellInCurrentScope:(Ljava/lang/String;)Z
            ifne 3
         2: .line 390
            aload 2 /* slot */
            invokestatic com.oracle.graal.python.nodes.generator.ReadGeneratorFrameVariableNode.create:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/graal/python/nodes/generator/ReadGeneratorFrameVariableNode;
            areturn
         3: .line 391
      StackMap locals: com.oracle.truffle.api.frame.FrameSlot
      StackMap stack:
            aload 2 /* slot */
            ifnull 5
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isCellInCurrentScope:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 392
            aload 2 /* slot */
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.isFreeVar:(Ljava/lang/String;)Z
            aload 2 /* slot */
            invokestatic com.oracle.graal.python.nodes.generator.ReadGeneratorFrameVariableNode.create:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/graal/python/nodes/generator/ReadGeneratorFrameVariableNode;
            invokestatic com.oracle.graal.python.nodes.cell.ReadLocalCellNode.create:(Lcom/oracle/truffle/api/frame/FrameSlot;ZLcom/oracle/graal/python/nodes/expression/ExpressionNode;)Lcom/oracle/graal/python/nodes/cell/ReadLocalCellNode;
            areturn
         5: .line 395
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.findVariableNodeLEGB:(Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
            areturn
        end local 2 // com.oracle.truffle.api.frame.FrameSlot slot
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    6     1  name  Ljava/lang/String;
            1    6     2  slot  Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
      Name  Flags
      name  

  private com.oracle.graal.python.nodes.frame.ReadNode findVariableNodeClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 399
            aconst_null
            astore 2 /* cellSlot */
        start local 2 // com.oracle.truffle.api.frame.FrameSlot cellSlot
         1: .line 400
            aload 1 /* name */
            ldc "__class__"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         2: .line 401
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.isFreeVar:(Ljava/lang/String;)Z
            istore 3 /* isFreeVar */
        start local 3 // boolean isFreeVar
         3: .line 402
            iload 3 /* isFreeVar */
            ifeq 6
         4: .line 410
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            ldc "<>freevar__class__"
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.findFrameSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            astore 2 /* cellSlot */
         5: .line 411
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.factory:Lcom/oracle/graal/python/nodes/NodeFactory;
            aload 1 /* name */
            aload 2 /* cellSlot */
            iload 3 /* isFreeVar */
            invokevirtual com.oracle.graal.python.nodes.NodeFactory.createReadClassAttributeNode:(Ljava/lang/String;Lcom/oracle/truffle/api/frame/FrameSlot;Z)Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
            checkcast com.oracle.graal.python.nodes.frame.ReadNode
            areturn
         6: .line 413
      StackMap locals: com.oracle.truffle.api.frame.FrameSlot int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.factory:Lcom/oracle/graal/python/nodes/NodeFactory;
            aload 1 /* name */
            aconst_null
            iload 3 /* isFreeVar */
            invokevirtual com.oracle.graal.python.nodes.NodeFactory.createReadClassAttributeNode:(Ljava/lang/String;Lcom/oracle/truffle/api/frame/FrameSlot;Z)Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
            checkcast com.oracle.graal.python.nodes.frame.ReadNode
            areturn
        end local 3 // boolean isFreeVar
         7: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isCellInCurrentScope:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 416
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.findFrameSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            astore 2 /* cellSlot */
         9: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.factory:Lcom/oracle/graal/python/nodes/NodeFactory;
            aload 1 /* name */
            aload 2 /* cellSlot */
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.isFreeVar:(Ljava/lang/String;)Z
            invokevirtual com.oracle.graal.python.nodes.NodeFactory.createReadClassAttributeNode:(Ljava/lang/String;Lcom/oracle/truffle/api/frame/FrameSlot;Z)Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
            checkcast com.oracle.graal.python.nodes.frame.ReadNode
            areturn
        end local 2 // com.oracle.truffle.api.frame.FrameSlot cellSlot
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0   10     1       name  Ljava/lang/String;
            1   10     2   cellSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
            3    7     3  isFreeVar  Z
    MethodParameters:
      Name  Flags
      name  

  public com.oracle.graal.python.nodes.PNode getReadNode(java.lang.String, com.oracle.truffle.api.frame.FrameSlot);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/graal/python/nodes/PNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
        start local 2 // com.oracle.truffle.api.frame.FrameSlot slot
         0: .line 422
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isCellInCurrentScope:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 423
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.factory:Lcom/oracle/graal/python/nodes/NodeFactory;
            aload 2 /* slot */
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.isFreeVar:(Ljava/lang/String;)Z
            invokevirtual com.oracle.graal.python.nodes.NodeFactory.createReadLocalCell:(Lcom/oracle/truffle/api/frame/FrameSlot;Z)Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
            areturn
         2: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.factory:Lcom/oracle/graal/python/nodes/NodeFactory;
            aload 2 /* slot */
            invokevirtual com.oracle.graal.python.nodes.NodeFactory.createReadLocal:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
            areturn
        end local 2 // com.oracle.truffle.api.frame.FrameSlot slot
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    3     1  name  Ljava/lang/String;
            0    3     2  slot  Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
      Name  Flags
      name  
      slot  

  public com.oracle.graal.python.nodes.frame.ReadNode findVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
         0: .line 429
            getstatic com.oracle.graal.python.parser.ScopeEnvironment.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "name is null!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 431
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isGlobal:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 432
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.findVariableInGlobalOrBuiltinScope:(Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
            areturn
         3: .line 433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isNonlocal:(Ljava/lang/String;)Z
            ifeq 11
         4: .line 434
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isInGeneratorScope:()Z
            ifeq 6
         5: .line 435
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.findVariableNodeInGenerator:(Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
            areturn
         6: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getScopeKind:()Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Class:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            if_acmpne 10
            ldc "__class__"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 445
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            ldc "<>freevar__class__"
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.findFrameSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            astore 2 /* slot */
        start local 2 // com.oracle.truffle.api.frame.FrameSlot slot
         8: .line 446
            aload 2 /* slot */
            ifnull 10
         9: .line 447
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* slot */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.getReadNode:(Ljava/lang/String;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/graal/python/nodes/PNode;
            checkcast com.oracle.graal.python.nodes.frame.ReadNode
            areturn
        end local 2 // com.oracle.truffle.api.frame.FrameSlot slot
        10: .line 450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.findVariableInLocalOrEnclosingScopes:(Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
            areturn
        11: .line 453
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.graal.python.parser.ScopeEnvironment.$SWITCH_TABLE$com$oracle$graal$python$parser$ScopeInfo$ScopeKind:()[I
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.getScopeKind:()Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 12
                    2: 14
                    3: 15
                    4: 13
                    5: 13
                    6: 13
                    7: 13
                    8: 13
              default: 16
          }
        12: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.findVariableNodeModule:(Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
            areturn
        13: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.findVariableNodeInGenerator:(Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
            areturn
        14: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.findVariableNodeLEGB:(Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
            areturn
        15: .line 465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.findVariableNodeClass:(Ljava/lang/String;)Lcom/oracle/graal/python/nodes/frame/ReadNode;
            areturn
        16: .line 467
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected scopeKind "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.getScopeKind:()Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0   17     1  name  Ljava/lang/String;
            8   10     2  slot  Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
      Name  Flags
      name  

  public com.oracle.truffle.api.frame.FrameSlot[] getCellVarSlots();
    descriptor: ()[Lcom/oracle/truffle/api/frame/FrameSlot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 473
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getCellVarSlots:()[Lcom/oracle/truffle/api/frame/FrameSlot;
            areturn
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;

  public com.oracle.truffle.api.frame.FrameSlot[] getFreeVarSlots();
    descriptor: ()[Lcom/oracle/truffle/api/frame/FrameSlot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 478
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getFreeVarSlots:()[Lcom/oracle/truffle/api/frame/FrameSlot;
            areturn
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;

  public com.oracle.truffle.api.frame.FrameSlot[] getFreeVarDefinitionSlots();
    descriptor: ()[Lcom/oracle/truffle/api/frame/FrameSlot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 483
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.getFreeVarSlotsInParentScope:()[Lcom/oracle/truffle/api/frame/FrameSlot;
            areturn
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;

  private com.oracle.graal.python.nodes.statement.StatementNode getWriteNode(java.lang.String, com.oracle.truffle.api.frame.FrameSlot, com.oracle.graal.python.nodes.expression.ExpressionNode);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/graal/python/nodes/expression/ExpressionNode;)Lcom/oracle/graal/python/nodes/statement/StatementNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
        start local 2 // com.oracle.truffle.api.frame.FrameSlot slot
        start local 3 // com.oracle.graal.python.nodes.expression.ExpressionNode right
         0: .line 487
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isCellInCurrentScope:(Ljava/lang/String;)Z
            ifeq 5
         1: .line 488
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isInGeneratorScope:()Z
            ifne 3
         2: .line 489
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.factory:Lcom/oracle/graal/python/nodes/NodeFactory;
            aload 3 /* right */
            aload 2 /* slot */
            invokevirtual com.oracle.graal.python.nodes.NodeFactory.createWriteLocalCell:(Lcom/oracle/graal/python/nodes/expression/ExpressionNode;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/graal/python/nodes/statement/StatementNode;
            goto 4
         3: .line 490
      StackMap locals:
      StackMap stack:
            aload 2 /* slot */
            aload 2 /* slot */
            invokestatic com.oracle.graal.python.nodes.generator.ReadGeneratorFrameVariableNode.create:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/graal/python/nodes/generator/ReadGeneratorFrameVariableNode;
            aload 3 /* right */
            invokestatic com.oracle.graal.python.nodes.cell.WriteLocalCellNode.create:(Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/graal/python/nodes/expression/ExpressionNode;Lcom/oracle/graal/python/nodes/expression/ExpressionNode;)Lcom/oracle/graal/python/nodes/cell/WriteLocalCellNode;
         4: .line 488
      StackMap locals:
      StackMap stack: com.oracle.graal.python.nodes.statement.StatementNode
            areturn
         5: .line 492
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.isInGeneratorScope:()Z
            ifne 7
         6: .line 493
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.factory:Lcom/oracle/graal/python/nodes/NodeFactory;
            aload 3 /* right */
            aload 2 /* slot */
            invokevirtual com.oracle.graal.python.nodes.NodeFactory.createWriteLocal:(Lcom/oracle/graal/python/nodes/expression/ExpressionNode;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/graal/python/nodes/statement/StatementNode;
            goto 8
         7: .line 494
      StackMap locals:
      StackMap stack:
            aload 2 /* slot */
            aload 3 /* right */
            invokestatic com.oracle.graal.python.nodes.generator.WriteGeneratorFrameVariableNode.create:(Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/graal/python/nodes/expression/ExpressionNode;)Lcom/oracle/graal/python/nodes/generator/WriteGeneratorFrameVariableNode;
         8: .line 492
      StackMap locals:
      StackMap stack: com.oracle.graal.python.nodes.statement.StatementNode
            areturn
        end local 3 // com.oracle.graal.python.nodes.expression.ExpressionNode right
        end local 2 // com.oracle.truffle.api.frame.FrameSlot slot
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    9     1   name  Ljava/lang/String;
            0    9     2   slot  Lcom/oracle/truffle/api/frame/FrameSlot;
            0    9     3  right  Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
    MethodParameters:
       Name  Flags
      name   
      slot   
      right  

  private com.oracle.graal.python.nodes.statement.StatementNode getWriteNode(java.lang.String, com.oracle.graal.python.nodes.argument.ReadArgumentNode);
    descriptor: (Ljava/lang/String;Lcom/oracle/graal/python/nodes/argument/ReadArgumentNode;)Lcom/oracle/graal/python/nodes/statement/StatementNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
        start local 2 // com.oracle.graal.python.nodes.argument.ReadArgumentNode readNode
         0: .line 498
            aload 2 /* readNode */
            invokevirtual com.oracle.graal.python.nodes.argument.ReadArgumentNode.asExpression:()Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
            astore 3 /* right */
        start local 3 // com.oracle.graal.python.nodes.expression.ExpressionNode right
         1: .line 499
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 1 /* name */
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.findFrameSlot:(Ljava/lang/String;)Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 3 /* right */
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.getWriteNode:(Ljava/lang/String;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/graal/python/nodes/expression/ExpressionNode;)Lcom/oracle/graal/python/nodes/statement/StatementNode;
            areturn
        end local 3 // com.oracle.graal.python.nodes.expression.ExpressionNode right
        end local 2 // com.oracle.graal.python.nodes.argument.ReadArgumentNode readNode
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    2     1      name  Ljava/lang/String;
            0    2     2  readNode  Lcom/oracle/graal/python/nodes/argument/ReadArgumentNode;
            1    2     3     right  Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
    MethodParameters:
          Name  Flags
      name      
      readNode  

  public com.oracle.graal.python.nodes.statement.StatementNode getWriteArgumentToLocal(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lcom/oracle/graal/python/nodes/statement/StatementNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
        start local 2 // int index
         0: .line 503
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* index */
            invokestatic com.oracle.graal.python.nodes.argument.ReadIndexedArgumentNode.create:(I)Lcom/oracle/graal/python/nodes/argument/ReadIndexedArgumentNode;
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.getWriteNode:(Ljava/lang/String;Lcom/oracle/graal/python/nodes/argument/ReadArgumentNode;)Lcom/oracle/graal/python/nodes/statement/StatementNode;
            areturn
        end local 2 // int index
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    1     1   name  Ljava/lang/String;
            0    1     2  index  I
    MethodParameters:
       Name  Flags
      name   
      index  

  public com.oracle.graal.python.nodes.statement.StatementNode getWriteVarArgsToLocal(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lcom/oracle/graal/python/nodes/statement/StatementNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
        start local 2 // int index
         0: .line 507
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* index */
            invokestatic com.oracle.graal.python.nodes.argument.ReadVarArgsNode.create:(I)Lcom/oracle/graal/python/nodes/argument/ReadVarArgsNode;
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.getWriteNode:(Ljava/lang/String;Lcom/oracle/graal/python/nodes/argument/ReadArgumentNode;)Lcom/oracle/graal/python/nodes/statement/StatementNode;
            areturn
        end local 2 // int index
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    1     1   name  Ljava/lang/String;
            0    1     2  index  I
    MethodParameters:
       Name  Flags
      name   
      index  

  public com.oracle.graal.python.nodes.statement.StatementNode getWriteKwArgsToLocal(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Lcom/oracle/graal/python/nodes/statement/StatementNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String[] names
         0: .line 511
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* names */
            invokestatic com.oracle.graal.python.nodes.argument.ReadVarKeywordsNode.createForUserFunction:([Ljava/lang/String;)Lcom/oracle/graal/python/nodes/argument/ReadVarKeywordsNode;
            invokevirtual com.oracle.graal.python.parser.ScopeEnvironment.getWriteNode:(Ljava/lang/String;Lcom/oracle/graal/python/nodes/argument/ReadArgumentNode;)Lcom/oracle/graal/python/nodes/statement/StatementNode;
            areturn
        end local 2 // java.lang.String[] names
        end local 1 // java.lang.String name
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    1     1   name  Ljava/lang/String;
            0    1     2  names  [Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   
      names  

  public com.oracle.graal.python.parser.ScopeInfo setCurrentScope(com.oracle.graal.python.parser.ScopeInfo);
    descriptor: (Lcom/oracle/graal/python/parser/ScopeInfo;)Lcom/oracle/graal/python/parser/ScopeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // com.oracle.graal.python.parser.ScopeInfo info
         0: .line 515
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            astore 2 /* oldCurrent */
        start local 2 // com.oracle.graal.python.parser.ScopeInfo oldCurrent
         1: .line 516
            aload 0 /* this */
            aload 1 /* info */
            putfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
         2: .line 517
            aload 2 /* oldCurrent */
            areturn
        end local 2 // com.oracle.graal.python.parser.ScopeInfo oldCurrent
        end local 1 // com.oracle.graal.python.parser.ScopeInfo info
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0    3     1        info  Lcom/oracle/graal/python/parser/ScopeInfo;
            1    3     2  oldCurrent  Lcom/oracle/graal/python/parser/ScopeInfo;
    MethodParameters:
      Name  Flags
      info  

  public void setToGeneratorScope();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
         0: .line 521
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.currentScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.setAsGenerator:()V
         1: .line 522
            return
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/graal/python/parser/ScopeEnvironment;

  public void setFreeVarsInRootScope(com.oracle.truffle.api.frame.Frame);
    descriptor: (Lcom/oracle/truffle/api/frame/Frame;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
        start local 1 // com.oracle.truffle.api.frame.Frame frame
         0: .line 525
            aload 1 /* frame */
            ifnull 9
         1: .line 526
            aload 1 /* frame */
            invokeinterface com.oracle.truffle.api.frame.Frame.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getIdentifiers:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.truffle.api.frame.Frame top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* identifier */
        start local 2 // java.lang.Object identifier
         3: .line 527
            aload 1 /* frame */
            invokeinterface com.oracle.truffle.api.frame.Frame.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
            astore 4 /* frameSlot */
        start local 4 // com.oracle.truffle.api.frame.FrameSlot frameSlot
         4: .line 528
            aload 4 /* frameSlot */
            ifnull 8
            aload 1 /* frame */
            aload 4 /* frameSlot */
            invokeinterface com.oracle.truffle.api.frame.Frame.isObject:(Lcom/oracle/truffle/api/frame/FrameSlot;)Z
            ifeq 8
         5: .line 529
            aload 1 /* frame */
            aload 4 /* frameSlot */
            invokestatic com.oracle.truffle.api.frame.FrameUtil.getObjectSafe:(Lcom/oracle/truffle/api/frame/Frame;Lcom/oracle/truffle/api/frame/FrameSlot;)Ljava/lang/Object;
            astore 5 /* value */
        start local 5 // java.lang.Object value
         6: .line 530
            aload 5 /* value */
            instanceof com.oracle.graal.python.builtins.objects.cell.PCell
            ifeq 8
         7: .line 531
            aload 0 /* this */
            getfield com.oracle.graal.python.parser.ScopeEnvironment.globalScope:Lcom/oracle/graal/python/parser/ScopeInfo;
            aload 4 /* frameSlot */
            invokevirtual com.oracle.truffle.api.frame.FrameSlot.getIdentifier:()Ljava/lang/Object;
            checkcast java.lang.String
            iconst_0
            invokevirtual com.oracle.graal.python.parser.ScopeInfo.addFreeVar:(Ljava/lang/String;Z)V
        end local 5 // java.lang.Object value
        end local 4 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        end local 2 // java.lang.Object identifier
         8: .line 526
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 536
      StackMap locals: com.oracle.graal.python.parser.ScopeEnvironment com.oracle.truffle.api.frame.Frame
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.frame.Frame frame
        end local 0 // com.oracle.graal.python.parser.ScopeEnvironment this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lcom/oracle/graal/python/parser/ScopeEnvironment;
            0   10     1       frame  Lcom/oracle/truffle/api/frame/Frame;
            3    8     2  identifier  Ljava/lang/Object;
            4    8     4   frameSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
            6    8     5       value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      frame  

  static int[] $SWITCH_TABLE$com$oracle$graal$python$parser$ScopeInfo$ScopeKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 72
            getstatic com.oracle.graal.python.parser.ScopeEnvironment.$SWITCH_TABLE$com$oracle$graal$python$parser$ScopeInfo$ScopeKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.values:()[Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Class:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.DictComp:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ordinal:()I
            bipush 8
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Function:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.GenExp:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ordinal:()I
            iconst_5
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Generator:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ListComp:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ordinal:()I
            bipush 6
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Module:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ordinal:()I
            iconst_1
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.SetComp:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.oracle.graal.python.parser.ScopeInfo$ScopeKind.Transparent:Lcom/oracle/graal/python/parser/ScopeInfo$ScopeKind;
            invokevirtual com.oracle.graal.python.parser.ScopeInfo$ScopeKind.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            dup
            putstatic com.oracle.graal.python.parser.ScopeEnvironment.$SWITCH_TABLE$com$oracle$graal$python$parser$ScopeInfo$ScopeKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
}
SourceFile: "ScopeEnvironment.java"
InnerClasses:
  public final ScopeKind = com.oracle.graal.python.parser.ScopeInfo$ScopeKind of com.oracle.graal.python.parser.ScopeInfo