public class sun.security.krb5.Realm implements java.lang.Cloneable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.krb5.Realm
super_class: java.lang.Object
{
public static final boolean AUTODEDUCEREALM;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final java.lang.String realm;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new sun.security.action.GetBooleanAction
dup
1: ldc "sun.security.krb5.autodeducerealm"
2: invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
3: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
4: putstatic sun.security.krb5.Realm.AUTODEDUCEREALM:Z
5: return
LocalVariableTable:
Start End Slot Name Signature
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 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokestatic sun.security.krb5.Realm.parseRealm:(Ljava/lang/String;)Ljava/lang/String;
putfield sun.security.krb5.Realm.realm:Ljava/lang/String;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/Realm;
0 3 1 name Ljava/lang/String;
Exceptions:
throws sun.security.krb5.RealmException
MethodParameters:
Name Flags
name
public static sun.security.krb5.Realm getDefault();
descriptor: ()Lsun/security/krb5/Realm;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: new sun.security.krb5.Realm
dup
invokestatic sun.security.krb5.Config.getInstance:()Lsun/security/krb5/Config;
invokevirtual sun.security.krb5.Config.getDefaultRealm:()Ljava/lang/String;
invokespecial sun.security.krb5.Realm.<init>:(Ljava/lang/String;)V
1: areturn
2: StackMap locals:
StackMap stack: sun.security.krb5.RealmException
astore 0
start local 0 3: aload 0
athrow
end local 0 4: StackMap locals:
StackMap stack: sun.security.krb5.KrbException
astore 0
start local 0 5: new sun.security.krb5.RealmException
dup
aload 0
invokespecial sun.security.krb5.RealmException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
3 4 0 re Lsun/security/krb5/RealmException;
5 6 0 ke Lsun/security/krb5/KrbException;
Exception table:
from to target type
0 1 2 Class sun.security.krb5.RealmException
0 1 4 Class sun.security.krb5.KrbException
Exceptions:
throws sun.security.krb5.RealmException
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/Realm;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof sun.security.krb5.Realm
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast sun.security.krb5.Realm
astore 2
start local 2 5: aload 0
getfield sun.security.krb5.Realm.realm:Ljava/lang/String;
aload 2
getfield sun.security.krb5.Realm.realm:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/krb5/Realm;
0 6 1 obj Ljava/lang/Object;
5 6 2 that Lsun/security/krb5/Realm;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.Realm.realm:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/Realm;
public void <init>(sun.security.util.DerValue);
descriptor: (Lsun/security/util/DerValue;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "encoding can not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: sun.security.krb5.Realm sun.security.util.DerValue
StackMap stack:
aload 0
new sun.security.krb5.internal.util.KerberosString
dup
aload 1
invokespecial sun.security.krb5.internal.util.KerberosString.<init>:(Lsun/security/util/DerValue;)V
invokevirtual sun.security.krb5.internal.util.KerberosString.toString:()Ljava/lang/String;
putfield sun.security.krb5.Realm.realm:Ljava/lang/String;
4: aload 0
getfield sun.security.krb5.Realm.realm:Ljava/lang/String;
ifnull 5
aload 0
getfield sun.security.krb5.Realm.realm:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 6
5: StackMap locals:
StackMap stack:
new sun.security.krb5.RealmException
dup
sipush 601
invokespecial sun.security.krb5.RealmException.<init>:(I)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.Realm.realm:Ljava/lang/String;
invokestatic sun.security.krb5.Realm.isValidRealmString:(Ljava/lang/String;)Z
ifne 8
7: new sun.security.krb5.RealmException
dup
sipush 600
invokespecial sun.security.krb5.RealmException.<init>:(I)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/krb5/Realm;
0 9 1 encoding Lsun/security/util/DerValue;
Exceptions:
throws sun.security.krb5.Asn1Exception, sun.security.krb5.RealmException, java.io.IOException
MethodParameters:
Name Flags
encoding
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.Realm.realm:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/Realm;
public static java.lang.String parseRealmAtSeparator(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
ifnonnull 4
1: new java.lang.IllegalArgumentException
dup
2: ldc "null input name is not allowed"
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0
invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
astore 1
start local 1 5: aconst_null
astore 2
start local 2 6: iconst_0
istore 3
start local 3 7: goto 17
8: StackMap locals: java.lang.String java.lang.String int
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 64
if_icmpne 16
9: iload 3
ifeq 10
aload 1
iload 3
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 92
if_icmpeq 16
10: StackMap locals:
StackMap stack:
iload 3
iconst_1
iadd
aload 1
invokevirtual java.lang.String.length:()I
if_icmpge 13
11: aload 1
iload 3
iconst_1
iadd
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
12: goto 18
13: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
14: ldc "empty realm part not allowed"
15: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
iinc 3 1
17: StackMap locals:
StackMap stack:
iload 3
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 8
18: StackMap locals:
StackMap stack:
aload 2
ifnull 23
19: aload 2
invokevirtual java.lang.String.length:()I
ifne 21
20: new sun.security.krb5.RealmException
dup
sipush 601
invokespecial sun.security.krb5.RealmException.<init>:(I)V
athrow
21: StackMap locals:
StackMap stack:
aload 2
invokestatic sun.security.krb5.Realm.isValidRealmString:(Ljava/lang/String;)Z
ifne 23
22: new sun.security.krb5.RealmException
dup
sipush 600
invokespecial sun.security.krb5.RealmException.<init>:(I)V
athrow
23: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 name Ljava/lang/String;
5 24 1 temp Ljava/lang/String;
6 24 2 result Ljava/lang/String;
7 24 3 i I
Exceptions:
throws sun.security.krb5.RealmException
MethodParameters:
Name Flags
name
public static java.lang.String parseRealmComponent(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
ifnonnull 4
1: new java.lang.IllegalArgumentException
dup
2: ldc "null input name is not allowed"
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0
invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
astore 1
start local 1 5: aconst_null
astore 2
start local 2 6: iconst_0
istore 3
start local 3 7: goto 14
8: StackMap locals: java.lang.String java.lang.String int
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 46
if_icmpne 13
9: iload 3
ifeq 10
aload 1
iload 3
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 92
if_icmpeq 13
10: StackMap locals:
StackMap stack:
iload 3
iconst_1
iadd
aload 1
invokevirtual java.lang.String.length:()I
if_icmpge 15
11: aload 1
iload 3
iconst_1
iadd
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
12: goto 15
13: StackMap locals:
StackMap stack:
iinc 3 1
14: StackMap locals:
StackMap stack:
iload 3
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 8
15: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 name Ljava/lang/String;
5 16 1 temp Ljava/lang/String;
6 16 2 result Ljava/lang/String;
7 16 3 i I
MethodParameters:
Name Flags
name
protected static java.lang.String parseRealm(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic sun.security.krb5.Realm.parseRealmAtSeparator:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
astore 1
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
ifnull 4
aload 1
invokevirtual java.lang.String.length:()I
ifne 5
4: StackMap locals:
StackMap stack:
new sun.security.krb5.RealmException
dup
sipush 601
invokespecial sun.security.krb5.RealmException.<init>:(I)V
athrow
5: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.krb5.Realm.isValidRealmString:(Ljava/lang/String;)Z
ifne 7
6: new sun.security.krb5.RealmException
dup
sipush 600
invokespecial sun.security.krb5.RealmException.<init>:(I)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 name Ljava/lang/String;
1 8 1 result Ljava/lang/String;
Exceptions:
throws sun.security.krb5.RealmException
MethodParameters:
Name Flags
name
protected static boolean isValidRealmString(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 5: goto 11
6: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpeq 9
7: aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
bipush 58
if_icmpeq 9
8: aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
ifne 10
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
11: iload 1
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 6
end local 1 12: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 name Ljava/lang/String;
5 12 1 i I
MethodParameters:
Name Flags
name
public byte[] asn1Encode();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 1
start local 1 1: aload 1
new sun.security.krb5.internal.util.KerberosString
dup
aload 0
getfield sun.security.krb5.Realm.realm:Ljava/lang/String;
invokespecial sun.security.krb5.internal.util.KerberosString.<init>:(Ljava/lang/String;)V
invokevirtual sun.security.krb5.internal.util.KerberosString.toDerValue:()Lsun/security/util/DerValue;
invokevirtual sun.security.util.DerOutputStream.putDerValue:(Lsun/security/util/DerValue;)V
2: aload 1
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/Realm;
1 3 1 out Lsun/security/util/DerOutputStream;
Exceptions:
throws sun.security.krb5.Asn1Exception, java.io.IOException
public static sun.security.krb5.Realm parse(sun.security.util.DerInputStream, byte, boolean);
descriptor: (Lsun/security/util/DerInputStream;BZ)Lsun/security/krb5/Realm;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 2
aload 0
invokevirtual sun.security.util.DerInputStream.peekByte:()I
i2b
bipush 31
iand
iload 1
if_icmpeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 3
start local 3 3: iload 1
aload 3
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 31
iand
if_icmpeq 5
4: new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
5: StackMap locals: sun.security.util.DerValue
StackMap stack:
aload 3
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 4
start local 4 6: new sun.security.krb5.Realm
dup
aload 4
invokespecial sun.security.krb5.Realm.<init>:(Lsun/security/util/DerValue;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 data Lsun/security/util/DerInputStream;
0 7 1 explicitTag B
0 7 2 optional Z
3 7 3 der Lsun/security/util/DerValue;
6 7 4 subDer Lsun/security/util/DerValue;
Exceptions:
throws sun.security.krb5.Asn1Exception, java.io.IOException, sun.security.krb5.RealmException
MethodParameters:
Name Flags
data
explicitTag
optional
public static java.lang.String[] getRealmsList(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic sun.security.krb5.Realm.parseCapaths:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: sun.security.krb5.KrbException
pop
3: aload 0
aload 1
invokestatic sun.security.krb5.Realm.parseHierarchy:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cRealm Ljava/lang/String;
0 4 1 sRealm Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class sun.security.krb5.KrbException
MethodParameters:
Name Flags
cRealm
sRealm
private static java.lang.String[] parseCapaths(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: invokestatic sun.security.krb5.Config.getInstance:()Lsun/security/krb5/Config;
astore 2
start local 2 1: aload 2
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "capaths"
aastore
dup
iconst_1
aload 0
aastore
dup
iconst_2
aload 1
aastore
invokevirtual sun.security.krb5.Config.exists:([Ljava/lang/String;)Z
ifne 3
2: new sun.security.krb5.KrbException
dup
ldc "No conf"
invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: sun.security.krb5.Config
StackMap stack:
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 3
start local 3 4: aload 1
astore 4
start local 4 5: StackMap locals: java.util.LinkedList java.lang.String
StackMap stack:
aload 2
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "capaths"
aastore
dup
iconst_1
aload 0
aastore
dup
iconst_2
aload 4
aastore
invokevirtual sun.security.krb5.Config.getAll:([Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 6: aload 5
ifnonnull 8
7: goto 25
8: StackMap locals: java.lang.String
StackMap stack:
aload 5
ldc "\\s+"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 6
start local 6 9: iconst_0
istore 7
start local 7 10: aload 6
arraylength
iconst_1
isub
istore 8
start local 8 11: goto 21
12: StackMap locals: java.lang.String[] int int
StackMap stack:
aload 3
aload 6
iload 8
aaload
invokevirtual java.util.LinkedList.contains:(Ljava/lang/Object;)Z
ifne 20
13: aload 6
iload 8
aaload
ldc "."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
14: aload 6
iload 8
aaload
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
15: aload 6
iload 8
aaload
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
16: aload 6
iload 8
aaload
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
17: goto 20
18: StackMap locals:
StackMap stack:
iconst_1
istore 7
19: aload 3
aload 6
iload 8
aaload
invokevirtual java.util.LinkedList.addFirst:(Ljava/lang/Object;)V
20: StackMap locals:
StackMap stack:
iinc 8 -1
StackMap locals:
StackMap stack:
21: iload 8
ifge 12
end local 8 22: iload 7
ifne 23
goto 25
23: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.LinkedList.getFirst:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
end local 7 end local 6 end local 5 24: goto 5
25: StackMap locals:
StackMap stack:
aload 3
aload 0
invokevirtual java.util.LinkedList.addFirst:(Ljava/lang/Object;)V
26: aload 3
aload 3
invokevirtual java.util.LinkedList.size:()I
anewarray java.lang.String
invokevirtual java.util.LinkedList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 cRealm Ljava/lang/String;
0 27 1 sRealm Ljava/lang/String;
1 27 2 cfg Lsun/security/krb5/Config;
4 27 3 path Ljava/util/LinkedList<Ljava/lang/String;>;
5 27 4 head Ljava/lang/String;
6 24 5 value Ljava/lang/String;
9 24 6 more [Ljava/lang/String;
10 24 7 changed Z
11 22 8 i I
Exceptions:
throws sun.security.krb5.KrbException
MethodParameters:
Name Flags
cRealm
sRealm
private static java.lang.String[] parseHierarchy(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
ldc "\\."
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 1: aload 1
ldc "\\."
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 2: aload 2
arraylength
istore 4
start local 4 3: aload 3
arraylength
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: iinc 5 -1
iinc 4 -1
goto 8
6: StackMap locals: java.lang.String java.lang.String java.lang.String[] java.lang.String[] int int int
StackMap stack:
iconst_1
istore 6
7: iinc 5 -1
iinc 4 -1
8: StackMap locals:
StackMap stack:
iload 5
iflt 10
iload 4
iflt 10
9: aload 3
iload 5
aaload
aload 2
iload 4
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
10: StackMap locals:
StackMap stack:
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 7
start local 7 11: iconst_0
istore 8
start local 8 12: goto 15
13: StackMap locals: java.util.LinkedList int
StackMap stack:
aload 7
aload 2
iload 8
invokestatic sun.security.krb5.Realm.subStringFrom:([Ljava/lang/String;I)Ljava/lang/String;
invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
14: iinc 8 1
StackMap locals:
StackMap stack:
15: iload 8
iload 4
if_icmple 13
end local 8 16: iload 6
ifeq 18
17: aload 7
aload 2
iload 4
iconst_1
iadd
invokestatic sun.security.krb5.Realm.subStringFrom:([Ljava/lang/String;I)Ljava/lang/String;
invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
18: StackMap locals:
StackMap stack:
iload 5
istore 8
start local 8 19: goto 22
20: StackMap locals: int
StackMap stack:
aload 7
aload 3
iload 8
invokestatic sun.security.krb5.Realm.subStringFrom:([Ljava/lang/String;I)Ljava/lang/String;
invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
21: iinc 8 -1
StackMap locals:
StackMap stack:
22: iload 8
ifge 20
end local 8 23: aload 7
invokevirtual java.util.LinkedList.removeLast:()Ljava/lang/Object;
pop
24: aload 7
aload 7
invokevirtual java.util.LinkedList.size:()I
anewarray java.lang.String
invokevirtual java.util.LinkedList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 cRealm Ljava/lang/String;
0 25 1 sRealm Ljava/lang/String;
1 25 2 cComponents [Ljava/lang/String;
2 25 3 sComponents [Ljava/lang/String;
3 25 4 cPos I
4 25 5 sPos I
5 25 6 hasCommon Z
11 25 7 path Ljava/util/LinkedList<Ljava/lang/String;>;
12 16 8 i I
19 23 8 i I
MethodParameters:
Name Flags
cRealm
sRealm
private static java.lang.String subStringFrom(java.lang.String[], int);
descriptor: ([Ljava/lang/String;I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: iload 1
istore 3
start local 3 2: goto 6
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 2
invokevirtual java.lang.StringBuilder.length:()I
ifeq 4
aload 2
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: StackMap locals:
StackMap stack:
aload 2
aload 0
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 0
arraylength
if_icmplt 3
end local 3 7: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 components [Ljava/lang/String;
0 8 1 from I
1 8 2 sb Ljava/lang/StringBuilder;
2 7 3 i I
MethodParameters:
Name Flags
components
from
}
SourceFile: "Realm.java"