public class sun.net.URLCanonicalizer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.net.URLCanonicalizer
  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 // sun.net.URLCanonicalizer this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.net.URLCanonicalizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/net/URLCanonicalizer;

  public java.lang.String canonicalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.net.URLCanonicalizer this
        start local 1 // java.lang.String simpleURL
         0: .line 58
            aload 1 /* simpleURL */
            astore 2 /* resultURL */
        start local 2 // java.lang.String resultURL
         1: .line 59
            aload 1 /* simpleURL */
            ldc "ftp."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 60
            new java.lang.StringBuilder
            dup
            ldc "ftp://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* simpleURL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* resultURL */
         3: .line 61
            goto 14
      StackMap locals: java.lang.String
      StackMap stack:
         4: aload 1 /* simpleURL */
            ldc "gopher."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         5: .line 62
            new java.lang.StringBuilder
            dup
            ldc "gopher://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* simpleURL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* resultURL */
         6: .line 63
            goto 14
      StackMap locals:
      StackMap stack:
         7: aload 1 /* simpleURL */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 64
            new java.lang.StringBuilder
            dup
            ldc "file:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* simpleURL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* resultURL */
         9: .line 65
            goto 14
      StackMap locals:
      StackMap stack:
        10: aload 0 /* this */
            aload 1 /* simpleURL */
            invokevirtual sun.net.URLCanonicalizer.hasProtocolName:(Ljava/lang/String;)Z
            ifne 14
        11: .line 66
            aload 0 /* this */
            aload 1 /* simpleURL */
            invokevirtual sun.net.URLCanonicalizer.isSimpleHostName:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 67
            new java.lang.StringBuilder
            dup
            ldc "www."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* simpleURL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".com"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* simpleURL */
        13: .line 69
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "http://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* simpleURL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* resultURL */
        14: .line 72
      StackMap locals:
      StackMap stack:
            aload 2 /* resultURL */
            areturn
        end local 2 // java.lang.String resultURL
        end local 1 // java.lang.String simpleURL
        end local 0 // sun.net.URLCanonicalizer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lsun/net/URLCanonicalizer;
            0   15     1  simpleURL  Ljava/lang/String;
            1   15     2  resultURL  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      simpleURL  

  public boolean hasProtocolName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // sun.net.URLCanonicalizer this
        start local 1 // java.lang.String url
         0: .line 80
            aload 1 /* url */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 81
            iload 2 /* index */
            ifgt 3
         2: .line 82
            iconst_0
            ireturn
         3: .line 85
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 12
         5: .line 86
      StackMap locals: int
      StackMap stack:
            aload 1 /* url */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         6: .line 90
            iload 4 /* c */
            bipush 65
            if_icmplt 7
            iload 4 /* c */
            bipush 90
            if_icmple 11
         7: .line 91
      StackMap locals: int
      StackMap stack:
            iload 4 /* c */
            bipush 97
            if_icmplt 8
            iload 4 /* c */
            bipush 122
            if_icmple 11
         8: .line 92
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            bipush 45
            if_icmpne 10
         9: .line 93
            goto 11
        10: .line 97
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // char c
        11: .line 85
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* index */
            if_icmplt 5
        end local 3 // int i
        13: .line 100
            iconst_1
            ireturn
        end local 2 // int index
        end local 1 // java.lang.String url
        end local 0 // sun.net.URLCanonicalizer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lsun/net/URLCanonicalizer;
            0   14     1    url  Ljava/lang/String;
            1   14     2  index  I
            4   13     3      i  I
            6   11     4      c  C
    MethodParameters:
      Name  Flags
      url   

  protected boolean isSimpleHostName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.net.URLCanonicalizer this
        start local 1 // java.lang.String url
         0: .line 109
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 10
         2: .line 110
      StackMap locals: int
      StackMap stack:
            aload 1 /* url */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         3: .line 114
            iload 3 /* c */
            bipush 65
            if_icmplt 4
            iload 3 /* c */
            bipush 90
            if_icmple 9
         4: .line 115
      StackMap locals: int
      StackMap stack:
            iload 3 /* c */
            bipush 97
            if_icmplt 5
            iload 3 /* c */
            bipush 122
            if_icmple 9
         5: .line 116
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 48
            if_icmplt 6
            iload 3 /* c */
            bipush 57
            if_icmple 9
         6: .line 117
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 45
            if_icmpne 8
         7: .line 118
            goto 9
         8: .line 122
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // char c
         9: .line 109
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            aload 1 /* url */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
        end local 2 // int i
        11: .line 125
            iconst_1
            ireturn
        end local 1 // java.lang.String url
        end local 0 // sun.net.URLCanonicalizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/net/URLCanonicalizer;
            0   12     1   url  Ljava/lang/String;
            1   11     2     i  I
            3    9     3     c  C
    MethodParameters:
      Name  Flags
      url   
}
SourceFile: "URLCanonicalizer.java"