public class org.jruby.embed.util.SystemPropertyCatcher
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.embed.util.SystemPropertyCatcher
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.embed.util.SystemPropertyCatcher this
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.embed.util.SystemPropertyCatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/embed/util/SystemPropertyCatcher;

  public static org.jruby.embed.LocalContextScope getScope(org.jruby.embed.LocalContextScope);
    descriptor: (Lorg/jruby/embed/LocalContextScope;)Lorg/jruby/embed/LocalContextScope;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.jruby.embed.LocalContextScope defaultScope
         0: .line 66
            aload 0 /* defaultScope */
            astore 1 /* scope */
        start local 1 // org.jruby.embed.LocalContextScope scope
         1: .line 67
            getstatic org.jruby.embed.PropertyName.LOCALCONTEXT_SCOPE:Lorg/jruby/embed/PropertyName;
            invokevirtual org.jruby.embed.PropertyName.toString:()Ljava/lang/String;
            invokestatic org.jruby.util.SafePropertyAccessor.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         2: .line 68
            aload 2 /* s */
            ifnonnull 3
            aload 1 /* scope */
            areturn
         3: .line 70
      StackMap locals: org.jruby.embed.LocalContextScope java.lang.String
      StackMap stack:
            ldc "singlethread"
            aload 2 /* s */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
            getstatic org.jruby.embed.LocalContextScope.SINGLETHREAD:Lorg/jruby/embed/LocalContextScope;
            areturn
         4: .line 71
      StackMap locals:
      StackMap stack:
            ldc "singleton"
            aload 2 /* s */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 5
            getstatic org.jruby.embed.LocalContextScope.SINGLETON:Lorg/jruby/embed/LocalContextScope;
            areturn
         5: .line 72
      StackMap locals:
      StackMap stack:
            ldc "threadsafe"
            aload 2 /* s */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
            getstatic org.jruby.embed.LocalContextScope.THREADSAFE:Lorg/jruby/embed/LocalContextScope;
            areturn
         6: .line 73
      StackMap locals:
      StackMap stack:
            ldc "concurrent"
            aload 2 /* s */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
            getstatic org.jruby.embed.LocalContextScope.CONCURRENT:Lorg/jruby/embed/LocalContextScope;
            areturn
         7: .line 74
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            areturn
        end local 2 // java.lang.String s
        end local 1 // org.jruby.embed.LocalContextScope scope
        end local 0 // org.jruby.embed.LocalContextScope defaultScope
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0  defaultScope  Lorg/jruby/embed/LocalContextScope;
            1    8     1         scope  Lorg/jruby/embed/LocalContextScope;
            2    8     2             s  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      defaultScope  

  public static org.jruby.embed.LocalVariableBehavior getBehavior(org.jruby.embed.LocalVariableBehavior);
    descriptor: (Lorg/jruby/embed/LocalVariableBehavior;)Lorg/jruby/embed/LocalVariableBehavior;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.jruby.embed.LocalVariableBehavior defaultBehavior
         0: .line 85
            aload 0 /* defaultBehavior */
            astore 1 /* behavior */
        start local 1 // org.jruby.embed.LocalVariableBehavior behavior
         1: .line 86
            getstatic org.jruby.embed.PropertyName.LOCALVARIABLE_BEHAVIOR:Lorg/jruby/embed/PropertyName;
            invokevirtual org.jruby.embed.PropertyName.toString:()Ljava/lang/String;
            invokestatic org.jruby.util.SafePropertyAccessor.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         2: .line 87
            aload 2 /* s */
            ifnonnull 3
            aload 1 /* behavior */
            areturn
         3: .line 89
      StackMap locals: org.jruby.embed.LocalVariableBehavior java.lang.String
      StackMap stack:
            ldc "global"
            aload 2 /* s */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
            getstatic org.jruby.embed.LocalVariableBehavior.GLOBAL:Lorg/jruby/embed/LocalVariableBehavior;
            areturn
         4: .line 90
      StackMap locals:
      StackMap stack:
            ldc "persistent"
            aload 2 /* s */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 5
            getstatic org.jruby.embed.LocalVariableBehavior.PERSISTENT:Lorg/jruby/embed/LocalVariableBehavior;
            areturn
         5: .line 91
      StackMap locals:
      StackMap stack:
            ldc "transient"
            aload 2 /* s */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
            getstatic org.jruby.embed.LocalVariableBehavior.TRANSIENT:Lorg/jruby/embed/LocalVariableBehavior;
            areturn
         6: .line 92
      StackMap locals:
      StackMap stack:
            ldc "bsf"
            aload 2 /* s */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
            getstatic org.jruby.embed.LocalVariableBehavior.BSF:Lorg/jruby/embed/LocalVariableBehavior;
            areturn
         7: .line 93
      StackMap locals:
      StackMap stack:
            aload 1 /* behavior */
            areturn
        end local 2 // java.lang.String s
        end local 1 // org.jruby.embed.LocalVariableBehavior behavior
        end local 0 // org.jruby.embed.LocalVariableBehavior defaultBehavior
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0  defaultBehavior  Lorg/jruby/embed/LocalVariableBehavior;
            1    8     1         behavior  Lorg/jruby/embed/LocalVariableBehavior;
            2    8     2                s  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      defaultBehavior  

  public static boolean isLazy(boolean);
    descriptor: (Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // boolean defaultLaziness
         0: .line 104
            iload 0 /* defaultLaziness */
            istore 1 /* lazy */
        start local 1 // boolean lazy
         1: .line 105
            getstatic org.jruby.embed.PropertyName.LAZINESS:Lorg/jruby/embed/PropertyName;
            invokevirtual org.jruby.embed.PropertyName.toString:()Ljava/lang/String;
            invokestatic org.jruby.util.SafePropertyAccessor.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         2: .line 106
            aload 2 /* s */
            ifnonnull 3
            iload 1 /* lazy */
            ireturn
         3: .line 107
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 2 /* s */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            ireturn
        end local 2 // java.lang.String s
        end local 1 // boolean lazy
        end local 0 // boolean defaultLaziness
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0  defaultLaziness  Z
            1    4     1             lazy  Z
            2    4     2                s  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      defaultLaziness  

  public static void setClassLoader(org.jruby.embed.ScriptingContainer);
    descriptor: (Lorg/jruby/embed/ScriptingContainer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.embed.ScriptingContainer container
         0: .line 118
            getstatic org.jruby.embed.PropertyName.CLASSLOADER:Lorg/jruby/embed/PropertyName;
            invokevirtual org.jruby.embed.PropertyName.toString:()Ljava/lang/String;
            invokestatic org.jruby.util.SafePropertyAccessor.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* loader */
        start local 1 // java.lang.String loader
         1: .line 121
            aload 1 /* loader */
            ifnull 2
            ldc "container"
            aload 1 /* loader */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            ldc "current"
            aload 1 /* loader */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 122
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* container */
            aload 0 /* container */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual org.jruby.embed.ScriptingContainer.setClassLoader:(Ljava/lang/ClassLoader;)V
         3: .line 123
            return
         4: .line 125
      StackMap locals:
      StackMap stack:
            ldc "context"
            aload 1 /* loader */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 126
            aload 0 /* container */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual org.jruby.embed.ScriptingContainer.setClassLoader:(Ljava/lang/ClassLoader;)V
         6: .line 127
            return
         7: .line 129
      StackMap locals:
      StackMap stack:
            ldc "none"
            aload 1 /* loader */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 130
            return
         9: .line 134
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String loader
        end local 0 // org.jruby.embed.ScriptingContainer container
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0  container  Lorg/jruby/embed/ScriptingContainer;
            1   10     1     loader  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      container  

  public static void setConfiguration(org.jruby.embed.ScriptingContainer);
    descriptor: (Lorg/jruby/embed/ScriptingContainer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.jruby.embed.ScriptingContainer container
         0: .line 143
            aload 0 /* container */
            invokevirtual org.jruby.embed.ScriptingContainer.getProvider:()Lorg/jruby/embed/internal/LocalContextProvider;
            astore 1 /* provider */
        start local 1 // org.jruby.embed.internal.LocalContextProvider provider
         1: .line 144
            aload 1 /* provider */
            invokeinterface org.jruby.embed.internal.LocalContextProvider.getRubyInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
            astore 2 /* config */
        start local 2 // org.jruby.RubyInstanceConfig config
         2: .line 145
            getstatic org.jruby.embed.PropertyName.COMPILEMODE:Lorg/jruby/embed/PropertyName;
            invokevirtual org.jruby.embed.PropertyName.toString:()Ljava/lang/String;
            invokestatic org.jruby.util.SafePropertyAccessor.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* mode */
        start local 3 // java.lang.String mode
         3: .line 146
            aload 3 /* mode */
            ifnull 11
         4: .line 147
            ldc "jit"
            aload 3 /* mode */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         5: .line 148
            aload 2 /* config */
            getstatic org.jruby.RubyInstanceConfig$CompileMode.JIT:Lorg/jruby/RubyInstanceConfig$CompileMode;
            invokevirtual org.jruby.RubyInstanceConfig.setCompileMode:(Lorg/jruby/RubyInstanceConfig$CompileMode;)V
         6: .line 149
            goto 11
         7: .line 150
      StackMap locals: org.jruby.embed.internal.LocalContextProvider org.jruby.RubyInstanceConfig java.lang.String
      StackMap stack:
            ldc "force"
            aload 3 /* mode */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 151
            aload 2 /* config */
            getstatic org.jruby.RubyInstanceConfig$CompileMode.FORCE:Lorg/jruby/RubyInstanceConfig$CompileMode;
            invokevirtual org.jruby.RubyInstanceConfig.setCompileMode:(Lorg/jruby/RubyInstanceConfig$CompileMode;)V
         9: .line 152
            goto 11
        10: .line 154
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getstatic org.jruby.RubyInstanceConfig$CompileMode.OFF:Lorg/jruby/RubyInstanceConfig$CompileMode;
            invokevirtual org.jruby.RubyInstanceConfig.setCompileMode:(Lorg/jruby/RubyInstanceConfig$CompileMode;)V
        11: .line 159
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String mode
        end local 2 // org.jruby.RubyInstanceConfig config
        end local 1 // org.jruby.embed.internal.LocalContextProvider provider
        end local 0 // org.jruby.embed.ScriptingContainer container
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0  container  Lorg/jruby/embed/ScriptingContainer;
            1   12     1   provider  Lorg/jruby/embed/internal/LocalContextProvider;
            2   12     2     config  Lorg/jruby/RubyInstanceConfig;
            3   12     3       mode  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      container  

  public static void setJRubyHome(org.jruby.embed.ScriptingContainer);
    descriptor: (Lorg/jruby/embed/ScriptingContainer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.embed.ScriptingContainer container
         0: .line 169
            aload 0 /* container */
            invokestatic org.jruby.embed.util.SystemPropertyCatcher.findJRubyHome:(Ljava/lang/Object;)Ljava/lang/String;
            astore 1 /* jrubyhome */
        start local 1 // java.lang.String jrubyhome
         1: .line 170
            aload 1 /* jrubyhome */
            ifnull 3
         2: .line 171
            aload 0 /* container */
            invokevirtual org.jruby.embed.ScriptingContainer.getProvider:()Lorg/jruby/embed/internal/LocalContextProvider;
            invokeinterface org.jruby.embed.internal.LocalContextProvider.getRubyInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
            aload 1 /* jrubyhome */
            invokevirtual org.jruby.RubyInstanceConfig.setJRubyHome:(Ljava/lang/String;)V
         3: .line 173
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 1 // java.lang.String jrubyhome
        end local 0 // org.jruby.embed.ScriptingContainer container
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  container  Lorg/jruby/embed/ScriptingContainer;
            1    4     1  jrubyhome  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
           Name  Flags
      container  

  public static java.lang.String findJRubyHome(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object instance
         0: .line 186
            ldc "JRUBY_HOME"
            invokestatic org.jruby.util.SafePropertyAccessor.getenv:(Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 1 /* jrubyhome */
        start local 1 // java.lang.String jrubyhome
         1: ifnull 3
         2: .line 187
            aload 1 /* jrubyhome */
            areturn
         3: .line 189
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "jruby.home"
            invokestatic org.jruby.util.SafePropertyAccessor.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 1 /* jrubyhome */
            ifnull 5
         4: .line 190
            aload 1 /* jrubyhome */
            areturn
         5: .line 192
      StackMap locals:
      StackMap stack:
            ldc "uri:classloader://META-INF/jruby.home"
            areturn
        end local 1 // java.lang.String jrubyhome
        end local 0 // java.lang.Object instance
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0   instance  Ljava/lang/Object;
            1    6     1  jrubyhome  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      instance  

  public static java.lang.String findFromJar(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Object instance
         0: .line 197
            aload 0 /* instance */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc "/META-INF/jruby.home"
            invokevirtual java.lang.Class.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 1 /* resource */
        start local 1 // java.net.URL resource
         1: .line 198
            aload 1 /* resource */
            ifnonnull 4
         2: .line 202
            aload 0 /* instance */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc "/META-INF/jruby.home/bin/jrubyc"
            invokevirtual java.lang.Class.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 1 /* resource */
         3: .line 203
            aload 1 /* resource */
            ifnonnull 4
            aconst_null
            areturn
         4: .line 207
      StackMap locals: java.net.URL
      StackMap stack:
            aload 1 /* resource */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            ldc "jar"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         5: .line 208
            aload 1 /* resource */
            invokestatic org.jruby.util.URLUtil.getPath:(Ljava/net/URL;)Ljava/lang/String;
            astore 2 /* location */
        start local 2 // java.lang.String location
         6: .line 209
            aload 2 /* location */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         7: .line 211
            ldc "classpath:/META-INF/jruby.home"
            astore 2 /* location */
         8: .line 213
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* location */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 12
            aload 2 /* location */
            ldc " "
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 12
         9: .line 214
            aload 2 /* location */
            ldc " "
            ldc "%20"
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* location */
        10: .line 216
            goto 12
        end local 2 // java.lang.String location
        11: .line 217
      StackMap locals:
      StackMap stack:
            ldc "classpath:/META-INF/jruby.home"
            astore 2 /* location */
        start local 2 // java.lang.String location
        12: .line 221
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* location */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 14
        13: .line 222
            aload 2 /* location */
            iconst_0
            aload 2 /* location */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* location */
        14: .line 225
      StackMap locals:
      StackMap stack:
            aload 2 /* location */
            areturn
        end local 2 // java.lang.String location
        end local 1 // java.net.URL resource
        end local 0 // java.lang.Object instance
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0  instance  Ljava/lang/Object;
            1   15     1  resource  Ljava/net/URL;
            6   11     2  location  Ljava/lang/String;
           12   15     2  location  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      instance  

  public static java.util.List<java.lang.String> findLoadPaths();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=0
         0: .line 236
            getstatic org.jruby.embed.PropertyName.CLASSPATH:Lorg/jruby/embed/PropertyName;
            invokevirtual org.jruby.embed.PropertyName.toString:()Ljava/lang/String;
            invokestatic org.jruby.util.SafePropertyAccessor.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* paths */
        start local 0 // java.lang.String paths
         1: .line 237
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* loadPaths */
        start local 1 // java.util.List loadPaths
         2: .line 238
            aload 0 /* paths */
            ifnonnull 4
         3: .line 239
            ldc "java.class.path"
            invokestatic org.jruby.util.SafePropertyAccessor.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* paths */
         4: .line 241
      StackMap locals: java.lang.String java.util.List
      StackMap stack:
            aload 0 /* paths */
            ifnonnull 5
            aload 1 /* loadPaths */
            areturn
         5: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* paths */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* possiblePaths */
        start local 2 // java.lang.String[] possiblePaths
         6: .line 243
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "file"
            aastore
            dup
            iconst_1
            ldc "url"
            aastore
            astore 3 /* prefixes */
        start local 3 // java.lang.String[] prefixes
         7: .line 244
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 20
         9: .line 245
      StackMap locals: java.lang.String[] java.lang.String[] int
      StackMap stack:
            iload 4 /* i */
            istore 5 /* startIndex */
        start local 5 // int startIndex
        10: .line 246
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        11: goto 16
        12: .line 247
      StackMap locals: int int
      StackMap stack:
            aload 3 /* prefixes */
            iload 6 /* j */
            aaload
            aload 2 /* possiblePaths */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
            iload 4 /* i */
            aload 2 /* possiblePaths */
            arraylength
            iconst_1
            isub
            if_icmpge 15
        13: .line 248
            aload 1 /* loadPaths */
            new java.lang.StringBuilder
            dup
            aload 2 /* possiblePaths */
            iload 4 /* i */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* possiblePaths */
            iinc 4 /* i */ 1
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 249
            goto 17
        15: .line 246
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* j */
            aload 3 /* prefixes */
            arraylength
            if_icmplt 12
        end local 6 // int j
        17: .line 252
      StackMap locals:
      StackMap stack:
            iload 5 /* startIndex */
            iload 4 /* i */
            if_icmpne 19
        18: .line 253
            aload 1 /* loadPaths */
            aload 2 /* possiblePaths */
            iload 4 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // int startIndex
        19: .line 244
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            aload 2 /* possiblePaths */
            arraylength
            if_icmplt 9
        end local 4 // int i
        21: .line 256
            aload 1 /* loadPaths */
            areturn
        end local 3 // java.lang.String[] prefixes
        end local 2 // java.lang.String[] possiblePaths
        end local 1 // java.util.List loadPaths
        end local 0 // java.lang.String paths
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            1   22     0          paths  Ljava/lang/String;
            2   22     1      loadPaths  Ljava/util/List<Ljava/lang/String;>;
            6   22     2  possiblePaths  [Ljava/lang/String;
            7   22     3       prefixes  [Ljava/lang/String;
            8   21     4              i  I
           10   19     5     startIndex  I
           11   17     6              j  I
    Signature: ()Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static boolean isRuby19(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 269
            aload 0 /* name */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            ldc "j?ruby1[\\._]?9"
            invokestatic org.jruby.embed.util.SystemPropertyCatcher.matches:(Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      name  

  private static boolean matches(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.String pattern
         0: .line 273
            aload 1 /* pattern */
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            aload 0 /* name */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 2 /* matcher */
        start local 2 // java.util.regex.Matcher matcher
         1: .line 274
            aload 2 /* matcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ireturn
        end local 2 // java.util.regex.Matcher matcher
        end local 1 // java.lang.String pattern
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     name  Ljava/lang/String;
            0    2     1  pattern  Ljava/lang/String;
            1    2     2  matcher  Ljava/util/regex/Matcher;
    MethodParameters:
         Name  Flags
      name     final
      pattern  final

  public static java.lang.String getBaseDir();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 285
            ldc "PWD"
            invokestatic org.jruby.util.SafePropertyAccessor.getenv:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* baseDir */
        start local 0 // java.lang.String baseDir
         1: .line 286
            aload 0 /* baseDir */
            ifnull 2
            ldc "/"
            aload 0 /* baseDir */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 287
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "user.dir"
            invokestatic org.jruby.util.SafePropertyAccessor.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* baseDir */
         3: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* baseDir */
            areturn
        end local 0 // java.lang.String baseDir
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    4     0  baseDir  Ljava/lang/String;
}
SourceFile: "SystemPropertyCatcher.java"
InnerClasses:
  public final CompileMode = org.jruby.RubyInstanceConfig$CompileMode of org.jruby.RubyInstanceConfig