public class org.jruby.internal.runtime.GlobalVariables
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.internal.runtime.GlobalVariables
  super_class: java.lang.Object
{
  private final org.jruby.Ruby runtime;
    descriptor: Lorg/jruby/Ruby;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.String, org.jruby.internal.runtime.GlobalVariable> globalVariables;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/internal/runtime/GlobalVariable;>;

  private org.jruby.runtime.builtin.IRubyObject defaultSeparator;
    descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 50
            ldc Lorg/jruby/internal/runtime/GlobalVariables;
            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 org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // org.jruby.Ruby runtime
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
         2: .line 55
            aload 0 /* this */
            aload 1 /* runtime */
            putfield org.jruby.internal.runtime.GlobalVariables.runtime:Lorg/jruby/Ruby;
         3: .line 56
            return
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    4     1  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  

  public void define(java.lang.String, org.jruby.runtime.IAccessor, org.jruby.internal.runtime.GlobalVariable$Scope);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/IAccessor;Lorg/jruby/internal/runtime/GlobalVariable$Scope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.IAccessor accessor
        start local 3 // org.jruby.internal.runtime.GlobalVariable$Scope scope
         0: .line 59
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 60
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 2
            aload 2 /* accessor */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 61
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 3
            aload 1 /* name */
            ldc "$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
            aload 1 /* name */
            new org.jruby.internal.runtime.GlobalVariable
            dup
            aload 2 /* accessor */
            aload 3 /* scope */
            invokespecial org.jruby.internal.runtime.GlobalVariable.<init>:(Lorg/jruby/runtime/IAccessor;Lorg/jruby/internal/runtime/GlobalVariable$Scope;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 64
            return
        end local 3 // org.jruby.internal.runtime.GlobalVariable$Scope scope
        end local 2 // org.jruby.runtime.IAccessor accessor
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    5     1      name  Ljava/lang/String;
            0    5     2  accessor  Lorg/jruby/runtime/IAccessor;
            0    5     3     scope  Lorg/jruby/internal/runtime/GlobalVariable$Scope;
    MethodParameters:
          Name  Flags
      name      
      accessor  
      scope     

  public void defineReadonly(java.lang.String, org.jruby.runtime.IAccessor, org.jruby.internal.runtime.GlobalVariable$Scope);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/IAccessor;Lorg/jruby/internal/runtime/GlobalVariable$Scope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.IAccessor accessor
        start local 3 // org.jruby.internal.runtime.GlobalVariable$Scope scope
         0: .line 67
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 68
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 2
            aload 2 /* accessor */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 69
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 3
            aload 1 /* name */
            ldc "$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
            aload 1 /* name */
            new org.jruby.internal.runtime.GlobalVariable
            dup
            new org.jruby.internal.runtime.ReadonlyAccessor
            dup
            aload 1 /* name */
            aload 2 /* accessor */
            invokespecial org.jruby.internal.runtime.ReadonlyAccessor.<init>:(Ljava/lang/String;Lorg/jruby/runtime/IAccessor;)V
            aload 3 /* scope */
            invokespecial org.jruby.internal.runtime.GlobalVariable.<init>:(Lorg/jruby/runtime/IAccessor;Lorg/jruby/internal/runtime/GlobalVariable$Scope;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 72
            return
        end local 3 // org.jruby.internal.runtime.GlobalVariable$Scope scope
        end local 2 // org.jruby.runtime.IAccessor accessor
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    5     1      name  Ljava/lang/String;
            0    5     2  accessor  Lorg/jruby/runtime/IAccessor;
            0    5     3     scope  Lorg/jruby/internal/runtime/GlobalVariable$Scope;
    MethodParameters:
          Name  Flags
      name      
      accessor  
      scope     

  public boolean isDefined(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // java.lang.String name
         0: .line 75
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 76
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 2
            aload 1 /* name */
            ldc "$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.GlobalVariable
            astore 2 /* variable */
        start local 2 // org.jruby.internal.runtime.GlobalVariable variable
         3: .line 79
            aload 2 /* variable */
            ifnull 4
            aload 2 /* variable */
            invokevirtual org.jruby.internal.runtime.GlobalVariable.getAccessor:()Lorg/jruby/runtime/IAccessor;
            instanceof org.jruby.internal.runtime.UndefinedAccessor
            ifne 4
            iconst_1
            ireturn
      StackMap locals: org.jruby.internal.runtime.GlobalVariable
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // org.jruby.internal.runtime.GlobalVariable variable
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    5     1      name  Ljava/lang/String;
            3    5     2  variable  Lorg/jruby/internal/runtime/GlobalVariable;
    MethodParameters:
      Name  Flags
      name  

  public void alias(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String oldName
         0: .line 88
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 89
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 2
            aload 2 /* oldName */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 90
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 3
            aload 1 /* name */
            ldc "$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 91
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 4
            aload 2 /* oldName */
            ldc "$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* oldName */
            invokevirtual org.jruby.internal.runtime.GlobalVariables.createIfNotDefined:(Ljava/lang/String;)Lorg/jruby/internal/runtime/GlobalVariable;
            astore 3 /* oldVariable */
        start local 3 // org.jruby.internal.runtime.GlobalVariable oldVariable
         5: .line 94
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.GlobalVariable
            astore 4 /* variable */
        start local 4 // org.jruby.internal.runtime.GlobalVariable variable
         6: .line 96
            aload 4 /* variable */
            ifnull 8
            aload 3 /* oldVariable */
            aload 4 /* variable */
            if_acmpeq 8
            aload 4 /* variable */
            invokevirtual org.jruby.internal.runtime.GlobalVariable.isTracing:()Z
            ifeq 8
         7: .line 97
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRuntimeError:()Lorg/jruby/RubyClass;
            ldc "can't alias in tracer"
            invokestatic org.jruby.exceptions.RaiseException.from:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 100
      StackMap locals: org.jruby.internal.runtime.GlobalVariable org.jruby.internal.runtime.GlobalVariable
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
            aload 1 /* name */
            aload 3 /* oldVariable */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 101
            return
        end local 4 // org.jruby.internal.runtime.GlobalVariable variable
        end local 3 // org.jruby.internal.runtime.GlobalVariable oldVariable
        end local 2 // java.lang.String oldName
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/jruby/internal/runtime/GlobalVariables;
            0   10     1         name  Ljava/lang/String;
            0   10     2      oldName  Ljava/lang/String;
            5   10     3  oldVariable  Lorg/jruby/internal/runtime/GlobalVariable;
            6   10     4     variable  Lorg/jruby/internal/runtime/GlobalVariable;
    MethodParameters:
         Name  Flags
      name     
      oldName  

  public org.jruby.runtime.builtin.IRubyObject get(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // java.lang.String name
         0: .line 104
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 105
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 2
            aload 1 /* name */
            ldc "$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.GlobalVariable
            astore 2 /* variable */
        start local 2 // org.jruby.internal.runtime.GlobalVariable variable
         3: .line 108
            aload 2 /* variable */
            ifnull 4
            aload 2 /* variable */
            invokevirtual org.jruby.internal.runtime.GlobalVariable.getAccessor:()Lorg/jruby/runtime/IAccessor;
            invokeinterface org.jruby.runtime.IAccessor.getValue:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 110
      StackMap locals: org.jruby.internal.runtime.GlobalVariable
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.isVerbose:()Z
            ifeq 6
         5: .line 111
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.GLOBAL_NOT_INITIALIZED:Lorg/jruby/common/IRubyWarnings$ID;
            new java.lang.StringBuilder
            dup
            ldc "global variable `"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' not initialized"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.common.RubyWarnings.warning:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         6: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.internal.runtime.GlobalVariable variable
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    7     1      name  Ljava/lang/String;
            3    7     2  variable  Lorg/jruby/internal/runtime/GlobalVariable;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.internal.runtime.GlobalVariable getVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/internal/runtime/GlobalVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // java.lang.String name
         0: .line 117
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 118
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 2
            aload 1 /* name */
            ldc "$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.GlobalVariable
            astore 2 /* variable */
        start local 2 // org.jruby.internal.runtime.GlobalVariable variable
         3: .line 121
            aload 2 /* variable */
            ifnull 4
            aload 2 /* variable */
            areturn
         4: .line 123
      StackMap locals: org.jruby.internal.runtime.GlobalVariable
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.internal.runtime.GlobalVariables.createIfNotDefined:(Ljava/lang/String;)Lorg/jruby/internal/runtime/GlobalVariable;
            areturn
        end local 2 // org.jruby.internal.runtime.GlobalVariable variable
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    5     1      name  Ljava/lang/String;
            3    5     2  variable  Lorg/jruby/internal/runtime/GlobalVariable;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject set(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 127
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 128
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 2
            aload 1 /* name */
            ldc "$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.internal.runtime.GlobalVariables.createIfNotDefined:(Ljava/lang/String;)Lorg/jruby/internal/runtime/GlobalVariable;
            astore 3 /* variable */
        start local 3 // org.jruby.internal.runtime.GlobalVariable variable
         3: .line 131
            aload 3 /* variable */
            invokevirtual org.jruby.internal.runtime.GlobalVariable.getAccessor:()Lorg/jruby/runtime/IAccessor;
            aload 2 /* value */
            invokeinterface org.jruby.runtime.IAccessor.setValue:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* result */
        start local 4 // org.jruby.runtime.builtin.IRubyObject result
         4: .line 132
            aload 3 /* variable */
            aload 2 /* value */
            invokevirtual org.jruby.internal.runtime.GlobalVariable.trace:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         5: .line 133
            aload 3 /* variable */
            invokevirtual org.jruby.internal.runtime.GlobalVariable.invalidate:()V
         6: .line 134
            aload 4 /* result */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject result
        end local 3 // org.jruby.internal.runtime.GlobalVariable variable
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    7     1      name  Ljava/lang/String;
            0    7     2     value  Lorg/jruby/runtime/builtin/IRubyObject;
            3    7     3  variable  Lorg/jruby/internal/runtime/GlobalVariable;
            4    7     4    result  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      name   
      value  

  public org.jruby.runtime.builtin.IRubyObject clear(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // java.lang.String name
         0: .line 138
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.internal.runtime.GlobalVariables.set:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void setTraceVar(java.lang.String, org.jruby.RubyProc);
    descriptor: (Ljava/lang/String;Lorg/jruby/RubyProc;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.RubyProc proc
         0: .line 142
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 143
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 2
            aload 1 /* name */
            ldc "$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.internal.runtime.GlobalVariables.createIfNotDefined:(Ljava/lang/String;)Lorg/jruby/internal/runtime/GlobalVariable;
            astore 3 /* variable */
        start local 3 // org.jruby.internal.runtime.GlobalVariable variable
         3: .line 146
            aload 3 /* variable */
            aload 2 /* proc */
            invokevirtual org.jruby.internal.runtime.GlobalVariable.addTrace:(Lorg/jruby/RubyProc;)V
         4: .line 147
            return
        end local 3 // org.jruby.internal.runtime.GlobalVariable variable
        end local 2 // org.jruby.RubyProc proc
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    5     1      name  Ljava/lang/String;
            0    5     2      proc  Lorg/jruby/RubyProc;
            3    5     3  variable  Lorg/jruby/internal/runtime/GlobalVariable;
    MethodParameters:
      Name  Flags
      name  
      proc  

  public boolean untraceVar(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject command
         0: .line 150
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 151
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 2
            aload 1 /* name */
            ldc "$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.internal.runtime.GlobalVariables.isDefined:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 154
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.GlobalVariable
            astore 3 /* variable */
        start local 3 // org.jruby.internal.runtime.GlobalVariable variable
         4: .line 155
            aload 3 /* variable */
            aload 2 /* command */
            invokevirtual org.jruby.internal.runtime.GlobalVariable.removeTrace:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ireturn
        end local 3 // org.jruby.internal.runtime.GlobalVariable variable
         5: .line 157
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject command
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    6     1      name  Ljava/lang/String;
            0    6     2   command  Lorg/jruby/runtime/builtin/IRubyObject;
            4    5     3  variable  Lorg/jruby/internal/runtime/GlobalVariable;
    MethodParameters:
         Name  Flags
      name     
      command  

  public void untraceVar(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // java.lang.String name
         0: .line 161
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 1
            aload 1 /* name */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 162
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.internal.runtime.GlobalVariables.$assertionsDisabled:Z
            ifne 2
            aload 1 /* name */
            ldc "$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.internal.runtime.GlobalVariables.isDefined:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 165
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.GlobalVariable
            astore 2 /* variable */
        start local 2 // org.jruby.internal.runtime.GlobalVariable variable
         4: .line 166
            aload 2 /* variable */
            invokevirtual org.jruby.internal.runtime.GlobalVariable.removeTraces:()V
        end local 2 // org.jruby.internal.runtime.GlobalVariable variable
         5: .line 168
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    6     1      name  Ljava/lang/String;
            4    5     2  variable  Lorg/jruby/internal/runtime/GlobalVariable;
    MethodParameters:
      Name  Flags
      name  

  public java.util.Set<java.lang.String> getNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
         0: .line 171
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            areturn
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/GlobalVariables;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  private org.jruby.internal.runtime.GlobalVariable createIfNotDefined(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/internal/runtime/GlobalVariable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // java.lang.String name
         0: .line 175
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.GlobalVariable
            astore 2 /* variable */
        start local 2 // org.jruby.internal.runtime.GlobalVariable variable
         1: .line 176
            aload 2 /* variable */
            ifnonnull 4
         2: .line 177
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.runtime:Lorg/jruby/Ruby;
            aload 1 /* name */
            invokestatic org.jruby.internal.runtime.GlobalVariable.newUndefined:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/internal/runtime/GlobalVariable;
            astore 2 /* variable */
         3: .line 178
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.globalVariables:Ljava/util/Map;
            aload 1 /* name */
            aload 2 /* variable */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 180
      StackMap locals: org.jruby.internal.runtime.GlobalVariable
      StackMap stack:
            aload 2 /* variable */
            areturn
        end local 2 // org.jruby.internal.runtime.GlobalVariable variable
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    5     1      name  Ljava/lang/String;
            1    5     2  variable  Lorg/jruby/internal/runtime/GlobalVariable;
    MethodParameters:
      Name  Flags
      name  

  public org.jruby.runtime.builtin.IRubyObject getDefaultSeparator();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
         0: .line 186
            aload 0 /* this */
            getfield org.jruby.internal.runtime.GlobalVariables.defaultSeparator:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/GlobalVariables;

  public void setDefaultSeparator(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.GlobalVariables this
        start local 1 // org.jruby.runtime.builtin.IRubyObject defaultSeparator
         0: .line 190
            aload 0 /* this */
            aload 1 /* defaultSeparator */
            putfield org.jruby.internal.runtime.GlobalVariables.defaultSeparator:Lorg/jruby/runtime/builtin/IRubyObject;
         1: .line 191
            return
        end local 1 // org.jruby.runtime.builtin.IRubyObject defaultSeparator
        end local 0 // org.jruby.internal.runtime.GlobalVariables this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/jruby/internal/runtime/GlobalVariables;
            0    2     1  defaultSeparator  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
                  Name  Flags
      defaultSeparator  
}
SourceFile: "GlobalVariables.java"
InnerClasses:
  public final ID = org.jruby.common.IRubyWarnings$ID of org.jruby.common.IRubyWarnings
  public final Scope = org.jruby.internal.runtime.GlobalVariable$Scope of org.jruby.internal.runtime.GlobalVariable