abstract class android.net.Uri$AbstractHierarchicalUri extends android.net.Uri
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: android.net.Uri$AbstractHierarchicalUri
  super_class: android.net.Uri
{
  private android.net.Uri$Part userInfo;
    descriptor: Landroid/net/Uri$Part;
    flags: (0x0002) ACC_PRIVATE

  private volatile java.lang.String host;
    descriptor: Ljava/lang/String;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int port;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.Uri$AbstractHierarchicalUri this
         0: .line 1060
            aload 0 /* this */
            invokespecial android.net.Uri.<init>:()V
         1: .line 1099
            aload 0 /* this */
            getstatic android.net.Uri.NOT_CACHED:Ljava/lang/String;
            putfield android.net.Uri$AbstractHierarchicalUri.host:Ljava/lang/String;
         2: .line 1125
            aload 0 /* this */
            bipush -2
            putfield android.net.Uri$AbstractHierarchicalUri.port:I
         3: .line 1060
            return
        end local 0 // android.net.Uri$AbstractHierarchicalUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/net/Uri$AbstractHierarchicalUri;

  public java.lang.String getLastPathSegment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.net.Uri$AbstractHierarchicalUri this
         0: .line 1066
            aload 0 /* this */
            invokevirtual android.net.Uri$AbstractHierarchicalUri.getPathSegments:()Ljava/util/List;
            astore 1 /* segments */
        start local 1 // java.util.List segments
         1: .line 1067
            aload 1 /* segments */
            invokeinterface java.util.List.size:()I
            istore 2 /* size */
        start local 2 // int size
         2: .line 1068
            iload 2 /* size */
            ifne 4
         3: .line 1069
            aconst_null
            areturn
         4: .line 1071
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* segments */
            iload 2 /* size */
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 2 // int size
        end local 1 // java.util.List segments
        end local 0 // android.net.Uri$AbstractHierarchicalUri this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Landroid/net/Uri$AbstractHierarchicalUri;
            1    5     1  segments  Ljava/util/List<Ljava/lang/String;>;
            2    5     2      size  I

  private android.net.Uri$Part getUserInfoPart();
    descriptor: ()Landroid/net/Uri$Part;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.net.Uri$AbstractHierarchicalUri this
         0: .line 1077
            aload 0 /* this */
            getfield android.net.Uri$AbstractHierarchicalUri.userInfo:Landroid/net/Uri$Part;
            ifnonnull 2
         1: .line 1078
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.net.Uri$AbstractHierarchicalUri.parseUserInfo:()Ljava/lang/String;
            invokestatic android.net.Uri$Part.fromEncoded:(Ljava/lang/String;)Landroid/net/Uri$Part;
            dup_x1
            putfield android.net.Uri$AbstractHierarchicalUri.userInfo:Landroid/net/Uri$Part;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield android.net.Uri$AbstractHierarchicalUri.userInfo:Landroid/net/Uri$Part;
         3: .line 1077
      StackMap locals:
      StackMap stack: android.net.Uri$Part
            areturn
        end local 0 // android.net.Uri$AbstractHierarchicalUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/net/Uri$AbstractHierarchicalUri;

  public final java.lang.String getEncodedUserInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$AbstractHierarchicalUri this
         0: .line 1082
            aload 0 /* this */
            invokevirtual android.net.Uri$AbstractHierarchicalUri.getUserInfoPart:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Part.getEncoded:()Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$AbstractHierarchicalUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$AbstractHierarchicalUri;

  private java.lang.String parseUserInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.net.Uri$AbstractHierarchicalUri this
         0: .line 1086
            aload 0 /* this */
            invokevirtual android.net.Uri$AbstractHierarchicalUri.getEncodedAuthority:()Ljava/lang/String;
            astore 1 /* authority */
        start local 1 // java.lang.String authority
         1: .line 1087
            aload 1 /* authority */
            ifnonnull 3
         2: .line 1088
            aconst_null
            areturn
         3: .line 1091
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* authority */
            bipush 64
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* end */
        start local 2 // int end
         4: .line 1092
            iload 2 /* end */
            iconst_m1
            if_icmpne 5
            aconst_null
            goto 6
      StackMap locals: int
      StackMap stack:
         5: aload 1 /* authority */
            iconst_0
            iload 2 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         6: areturn
        end local 2 // int end
        end local 1 // java.lang.String authority
        end local 0 // android.net.Uri$AbstractHierarchicalUri this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Landroid/net/Uri$AbstractHierarchicalUri;
            1    7     1  authority  Ljava/lang/String;
            4    7     2        end  I

  public java.lang.String getUserInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.Uri$AbstractHierarchicalUri this
         0: .line 1096
            aload 0 /* this */
            invokevirtual android.net.Uri$AbstractHierarchicalUri.getUserInfoPart:()Landroid/net/Uri$Part;
            invokevirtual android.net.Uri$Part.getDecoded:()Ljava/lang/String;
            areturn
        end local 0 // android.net.Uri$AbstractHierarchicalUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/Uri$AbstractHierarchicalUri;

  public java.lang.String getHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.net.Uri$AbstractHierarchicalUri this
         0: .line 1103
            aload 0 /* this */
            getfield android.net.Uri$AbstractHierarchicalUri.host:Ljava/lang/String;
            getstatic android.net.Uri.NOT_CACHED:Ljava/lang/String;
            if_acmpeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* cached */
        start local 1 // boolean cached
         3: .line 1104
            iload 1 /* cached */
            ifeq 4
            aload 0 /* this */
            getfield android.net.Uri$AbstractHierarchicalUri.host:Ljava/lang/String;
            goto 5
         4: .line 1105
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.net.Uri$AbstractHierarchicalUri.parseHost:()Ljava/lang/String;
            dup_x1
            putfield android.net.Uri$AbstractHierarchicalUri.host:Ljava/lang/String;
         5: .line 1104
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 1 // boolean cached
        end local 0 // android.net.Uri$AbstractHierarchicalUri this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/net/Uri$AbstractHierarchicalUri;
            3    6     1  cached  Z

  private java.lang.String parseHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // android.net.Uri$AbstractHierarchicalUri this
         0: .line 1109
            aload 0 /* this */
            invokevirtual android.net.Uri$AbstractHierarchicalUri.getEncodedAuthority:()Ljava/lang/String;
            astore 1 /* authority */
        start local 1 // java.lang.String authority
         1: .line 1110
            aload 1 /* authority */
            ifnonnull 3
         2: .line 1111
            aconst_null
            areturn
         3: .line 1115
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* authority */
            bipush 64
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* userInfoSeparator */
        start local 2 // int userInfoSeparator
         4: .line 1116
            aload 1 /* authority */
            bipush 58
            iload 2 /* userInfoSeparator */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 3 /* portSeparator */
        start local 3 // int portSeparator
         5: .line 1118
            iload 3 /* portSeparator */
            iconst_m1
            if_icmpne 7
         6: .line 1119
            aload 1 /* authority */
            iload 2 /* userInfoSeparator */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 8
         7: .line 1120
      StackMap locals: int int
      StackMap stack:
            aload 1 /* authority */
            iload 2 /* userInfoSeparator */
            iconst_1
            iadd
            iload 3 /* portSeparator */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
         8: .line 1118
      StackMap locals:
      StackMap stack: java.lang.String
            astore 4 /* encodedHost */
        start local 4 // java.lang.String encodedHost
         9: .line 1122
            aload 4 /* encodedHost */
            invokestatic android.net.Uri$AbstractHierarchicalUri.decode:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 4 // java.lang.String encodedHost
        end local 3 // int portSeparator
        end local 2 // int userInfoSeparator
        end local 1 // java.lang.String authority
        end local 0 // android.net.Uri$AbstractHierarchicalUri this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Landroid/net/Uri$AbstractHierarchicalUri;
            1   10     1          authority  Ljava/lang/String;
            4   10     2  userInfoSeparator  I
            5   10     3      portSeparator  I
            9   10     4        encodedHost  Ljava/lang/String;

  public int getPort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.net.Uri$AbstractHierarchicalUri this
         0: .line 1128
            aload 0 /* this */
            getfield android.net.Uri$AbstractHierarchicalUri.port:I
            bipush -2
            if_icmpne 2
         1: .line 1129
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.net.Uri$AbstractHierarchicalUri.parsePort:()I
            dup_x1
            putfield android.net.Uri$AbstractHierarchicalUri.port:I
            goto 3
         2: .line 1130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.Uri$AbstractHierarchicalUri.port:I
         3: .line 1128
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // android.net.Uri$AbstractHierarchicalUri this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/net/Uri$AbstractHierarchicalUri;

  private int parsePort();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // android.net.Uri$AbstractHierarchicalUri this
         0: .line 1134
            aload 0 /* this */
            invokevirtual android.net.Uri$AbstractHierarchicalUri.getEncodedAuthority:()Ljava/lang/String;
            astore 1 /* authority */
        start local 1 // java.lang.String authority
         1: .line 1135
            aload 1 /* authority */
            ifnonnull 3
         2: .line 1136
            iconst_m1
            ireturn
         3: .line 1141
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* authority */
            bipush 64
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* userInfoSeparator */
        start local 2 // int userInfoSeparator
         4: .line 1142
            aload 1 /* authority */
            bipush 58
            iload 2 /* userInfoSeparator */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 3 /* portSeparator */
        start local 3 // int portSeparator
         5: .line 1144
            iload 3 /* portSeparator */
            iconst_m1
            if_icmpne 7
         6: .line 1145
            iconst_m1
            ireturn
         7: .line 1148
      StackMap locals: int int
      StackMap stack:
            aload 1 /* authority */
            iload 3 /* portSeparator */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic android.net.Uri$AbstractHierarchicalUri.decode:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* portString */
        start local 4 // java.lang.String portString
         8: .line 1150
            aload 4 /* portString */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
         9: ireturn
        10: .line 1151
      StackMap locals: android.net.Uri$AbstractHierarchicalUri java.lang.String int int java.lang.String
      StackMap stack: java.lang.NumberFormatException
            astore 5 /* e */
        start local 5 // java.lang.NumberFormatException e
        11: .line 1152
            getstatic android.net.Uri.LOG:Ljava/lang/String;
            ldc "Error parsing port string."
            aload 5 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        12: .line 1153
            iconst_m1
            ireturn
        end local 5 // java.lang.NumberFormatException e
        end local 4 // java.lang.String portString
        end local 3 // int portSeparator
        end local 2 // int userInfoSeparator
        end local 1 // java.lang.String authority
        end local 0 // android.net.Uri$AbstractHierarchicalUri this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Landroid/net/Uri$AbstractHierarchicalUri;
            1   13     1          authority  Ljava/lang/String;
            4   13     2  userInfoSeparator  I
            5   13     3      portSeparator  I
            8   13     4         portString  Ljava/lang/String;
           11   13     5                  e  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.NumberFormatException
}
SourceFile: "Uri.java"
NestHost: android.net.Uri
InnerClasses:
  private abstract AbstractHierarchicalUri = android.net.Uri$AbstractHierarchicalUri of android.net.Uri
  Part = android.net.Uri$Part of android.net.Uri