public class org.jruby.runtime.load.LoadService$SearchState
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.runtime.load.LoadService$SearchState
  super_class: java.lang.Object
{
  public org.jruby.runtime.load.Library library;
    descriptor: Lorg/jruby/runtime/load/Library;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String loadName;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public org.jruby.runtime.load.LoadService$SuffixType suffixType;
    descriptor: Lorg/jruby/runtime/load/LoadService$SuffixType;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String searchFile;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.load.LoadService$SearchState this
        start local 1 // java.lang.String file
         0: .line 810
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 811
            aload 0 /* this */
            aload 1 /* file */
            putfield org.jruby.runtime.load.LoadService$SearchState.loadName:Ljava/lang/String;
         2: .line 812
            return
        end local 1 // java.lang.String file
        end local 0 // org.jruby.runtime.load.LoadService$SearchState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/runtime/load/LoadService$SearchState;
            0    3     1  file  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      file  

  public void prepareRequireSearch(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.runtime.load.LoadService$SearchState this
        start local 1 // java.lang.String file
         0: .line 816
            aload 1 /* file */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            aload 1 /* file */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            if_icmple 17
         1: .line 818
            getstatic org.jruby.runtime.load.LoadService.sourcePattern:Ljava/util/regex/Pattern;
            aload 1 /* file */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            dup
            astore 2 /* matcher */
        start local 2 // java.util.regex.Matcher matcher
         2: invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 6
         3: .line 820
            aload 0 /* this */
            getstatic org.jruby.runtime.load.LoadService$SuffixType.Source:Lorg/jruby/runtime/load/LoadService$SuffixType;
            putfield org.jruby.runtime.load.LoadService$SearchState.suffixType:Lorg/jruby/runtime/load/LoadService$SuffixType;
         4: .line 823
            aload 0 /* this */
            aload 1 /* file */
            iconst_0
            aload 2 /* matcher */
            invokevirtual java.util.regex.Matcher.start:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield org.jruby.runtime.load.LoadService$SearchState.searchFile:Ljava/lang/String;
         5: .line 824
            goto 19
      StackMap locals: java.util.regex.Matcher
      StackMap stack:
         6: getstatic org.jruby.runtime.load.LoadService.extensionPattern:Ljava/util/regex/Pattern;
            aload 1 /* file */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            dup
            astore 2 /* matcher */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 10
         7: .line 826
            aload 0 /* this */
            getstatic org.jruby.runtime.load.LoadService$SuffixType.Extension:Lorg/jruby/runtime/load/LoadService$SuffixType;
            putfield org.jruby.runtime.load.LoadService$SearchState.suffixType:Lorg/jruby/runtime/load/LoadService$SuffixType;
         8: .line 829
            aload 0 /* this */
            aload 1 /* file */
            iconst_0
            aload 2 /* matcher */
            invokevirtual java.util.regex.Matcher.start:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield org.jruby.runtime.load.LoadService$SearchState.searchFile:Ljava/lang/String;
         9: .line 830
            goto 19
      StackMap locals:
      StackMap stack:
        10: aload 1 /* file */
            ldc ".class"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 14
        11: .line 832
            aload 0 /* this */
            getstatic org.jruby.runtime.load.LoadService$SuffixType.Neither:Lorg/jruby/runtime/load/LoadService$SuffixType;
            putfield org.jruby.runtime.load.LoadService$SearchState.suffixType:Lorg/jruby/runtime/load/LoadService$SuffixType;
        12: .line 833
            aload 0 /* this */
            aload 1 /* file */
            putfield org.jruby.runtime.load.LoadService$SearchState.searchFile:Ljava/lang/String;
        13: .line 834
            goto 19
        14: .line 836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.jruby.runtime.load.LoadService$SuffixType.Both:Lorg/jruby/runtime/load/LoadService$SuffixType;
            putfield org.jruby.runtime.load.LoadService$SearchState.suffixType:Lorg/jruby/runtime/load/LoadService$SuffixType;
        15: .line 837
            aload 0 /* this */
            aload 1 /* file */
            putfield org.jruby.runtime.load.LoadService$SearchState.searchFile:Ljava/lang/String;
        end local 2 // java.util.regex.Matcher matcher
        16: .line 839
            goto 19
        17: .line 841
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.jruby.runtime.load.LoadService$SuffixType.Both:Lorg/jruby/runtime/load/LoadService$SuffixType;
            putfield org.jruby.runtime.load.LoadService$SearchState.suffixType:Lorg/jruby/runtime/load/LoadService$SuffixType;
        18: .line 842
            aload 0 /* this */
            aload 1 /* file */
            putfield org.jruby.runtime.load.LoadService$SearchState.searchFile:Ljava/lang/String;
        19: .line 844
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String file
        end local 0 // org.jruby.runtime.load.LoadService$SearchState this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lorg/jruby/runtime/load/LoadService$SearchState;
            0   20     1     file  Ljava/lang/String;
            2   16     2  matcher  Ljava/util/regex/Matcher;
    MethodParameters:
      Name  Flags
      file  final

  public void prepareLoadSearch(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.runtime.load.LoadService$SearchState this
        start local 1 // java.lang.String file
         0: .line 848
            aload 1 /* file */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            aload 1 /* file */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            if_icmple 9
         1: .line 850
            getstatic org.jruby.runtime.load.LoadService.sourcePattern:Ljava/util/regex/Pattern;
            aload 1 /* file */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            dup
            astore 2 /* matcher */
        start local 2 // java.util.regex.Matcher matcher
         2: invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 6
         3: .line 852
            aload 0 /* this */
            getstatic org.jruby.runtime.load.LoadService$SuffixType.Source:Lorg/jruby/runtime/load/LoadService$SuffixType;
            putfield org.jruby.runtime.load.LoadService$SearchState.suffixType:Lorg/jruby/runtime/load/LoadService$SuffixType;
         4: .line 855
            aload 0 /* this */
            aload 1 /* file */
            iconst_0
            aload 2 /* matcher */
            invokevirtual java.util.regex.Matcher.start:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield org.jruby.runtime.load.LoadService$SearchState.searchFile:Ljava/lang/String;
         5: .line 856
            goto 11
         6: .line 858
      StackMap locals: java.util.regex.Matcher
      StackMap stack:
            aload 0 /* this */
            getstatic org.jruby.runtime.load.LoadService$SuffixType.Neither:Lorg/jruby/runtime/load/LoadService$SuffixType;
            putfield org.jruby.runtime.load.LoadService$SearchState.suffixType:Lorg/jruby/runtime/load/LoadService$SuffixType;
         7: .line 859
            aload 0 /* this */
            aload 1 /* file */
            putfield org.jruby.runtime.load.LoadService$SearchState.searchFile:Ljava/lang/String;
        end local 2 // java.util.regex.Matcher matcher
         8: .line 861
            goto 11
         9: .line 863
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.jruby.runtime.load.LoadService$SuffixType.Neither:Lorg/jruby/runtime/load/LoadService$SuffixType;
            putfield org.jruby.runtime.load.LoadService$SearchState.suffixType:Lorg/jruby/runtime/load/LoadService$SuffixType;
        10: .line 864
            aload 0 /* this */
            aload 1 /* file */
            putfield org.jruby.runtime.load.LoadService$SearchState.searchFile:Ljava/lang/String;
        11: .line 866
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String file
        end local 0 // org.jruby.runtime.load.LoadService$SearchState this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/jruby/runtime/load/LoadService$SearchState;
            0   12     1     file  Ljava/lang/String;
            2    8     2  matcher  Ljava/util/regex/Matcher;
    MethodParameters:
      Name  Flags
      file  final

  public void setLoadName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.load.LoadService$SearchState this
        start local 1 // java.lang.String loadName
         0: .line 869
            aload 0 /* this */
            aload 1 /* loadName */
            putfield org.jruby.runtime.load.LoadService$SearchState.loadName:Ljava/lang/String;
         1: .line 870
            return
        end local 1 // java.lang.String loadName
        end local 0 // org.jruby.runtime.load.LoadService$SearchState this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jruby/runtime/load/LoadService$SearchState;
            0    2     1  loadName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      loadName  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.load.LoadService$SearchState this
         0: .line 874
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 875
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 876
            aload 1 /* sb */
            ldc "library="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadService$SearchState.library:Lorg/jruby/runtime/load/Library;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 877
            aload 1 /* sb */
            ldc ", loadName="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadService$SearchState.loadName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 878
            aload 1 /* sb */
            ldc ", suffixType="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadService$SearchState.suffixType:Lorg/jruby/runtime/load/LoadService$SuffixType;
            invokevirtual org.jruby.runtime.load.LoadService$SuffixType.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 879
            aload 1 /* sb */
            ldc ", searchFile="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadService$SearchState.searchFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 880
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.jruby.runtime.load.LoadService$SearchState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/runtime/load/LoadService$SearchState;
            1    7     1    sb  Ljava/lang/StringBuilder;
}
SourceFile: "LoadService.java"
NestHost: org.jruby.runtime.load.LoadService
InnerClasses:
  public SearchState = org.jruby.runtime.load.LoadService$SearchState of org.jruby.runtime.load.LoadService
  public final SuffixType = org.jruby.runtime.load.LoadService$SuffixType of org.jruby.runtime.load.LoadService