class com.sun.jndi.dns.ZoneNode extends com.sun.jndi.dns.NameNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.jndi.dns.ZoneNode
super_class: com.sun.jndi.dns.NameNode
{
private java.lang.ref.SoftReference<com.sun.jndi.dns.NameNode> contentsRef;
descriptor: Ljava/lang/ref/SoftReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/SoftReference<Lcom/sun/jndi/dns/NameNode;>;
private long serialNumber;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.util.Date expiration;
descriptor: Ljava/util/Date;
flags: (0x0002) ACC_PRIVATE
void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.sun.jndi.dns.NameNode.<init>:(Ljava/lang/String;)V
1: aload 0
aconst_null
putfield com.sun.jndi.dns.ZoneNode.contentsRef:Ljava/lang/ref/SoftReference;
2: aload 0
ldc -1
putfield com.sun.jndi.dns.ZoneNode.serialNumber:J
3: aload 0
aconst_null
putfield com.sun.jndi.dns.ZoneNode.expiration:Ljava/util/Date;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jndi/dns/ZoneNode;
0 5 1 label Ljava/lang/String;
MethodParameters:
Name Flags
label
protected com.sun.jndi.dns.NameNode newNameNode(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/jndi/dns/NameNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.jndi.dns.ZoneNode
dup
aload 1
invokespecial com.sun.jndi.dns.ZoneNode.<init>:(Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/dns/ZoneNode;
0 1 1 label Ljava/lang/String;
MethodParameters:
Name Flags
label
synchronized void depopulate();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield com.sun.jndi.dns.ZoneNode.contentsRef:Ljava/lang/ref/SoftReference;
1: aload 0
ldc -1
putfield com.sun.jndi.dns.ZoneNode.serialNumber:J
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jndi/dns/ZoneNode;
synchronized boolean isPopulated();
descriptor: ()Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jndi.dns.ZoneNode.getContents:()Lcom/sun/jndi/dns/NameNode;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/dns/ZoneNode;
synchronized com.sun.jndi.dns.NameNode getContents();
descriptor: ()Lcom/sun/jndi/dns/NameNode;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.dns.ZoneNode.contentsRef:Ljava/lang/ref/SoftReference;
ifnull 2
1: aload 0
getfield com.sun.jndi.dns.ZoneNode.contentsRef:Ljava/lang/ref/SoftReference;
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast com.sun.jndi.dns.NameNode
goto 3
2: StackMap locals:
StackMap stack:
aconst_null
3: StackMap locals:
StackMap stack: com.sun.jndi.dns.NameNode
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/jndi/dns/ZoneNode;
synchronized boolean isExpired();
descriptor: ()Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.dns.ZoneNode.expiration:Ljava/util/Date;
ifnull 1
aload 0
getfield com.sun.jndi.dns.ZoneNode.expiration:Ljava/util/Date;
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.util.Date.before:(Ljava/util/Date;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/dns/ZoneNode;
com.sun.jndi.dns.ZoneNode getDeepestPopulated(com.sun.jndi.dns.DnsName);
descriptor: (Lcom/sun/jndi/dns/DnsName;)Lcom/sun/jndi/dns/ZoneNode;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: aload 0
invokevirtual com.sun.jndi.dns.ZoneNode.isPopulated:()Z
ifeq 2
aload 0
goto 3
StackMap locals: com.sun.jndi.dns.ZoneNode
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: com.sun.jndi.dns.ZoneNode
3: astore 3
start local 3 4: iconst_1
istore 4
start local 4 5: goto 12
6: StackMap locals: com.sun.jndi.dns.ZoneNode int
StackMap stack:
aload 2
aload 1
iload 4
invokevirtual com.sun.jndi.dns.DnsName.getKey:(I)Ljava/lang/String;
invokevirtual com.sun.jndi.dns.ZoneNode.get:(Ljava/lang/String;)Lcom/sun/jndi/dns/NameNode;
checkcast com.sun.jndi.dns.ZoneNode
astore 2
7: aload 2
ifnonnull 9
8: goto 13
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.jndi.dns.ZoneNode.isPopulated:()Z
ifeq 11
10: aload 2
astore 3
11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
aload 1
invokevirtual com.sun.jndi.dns.DnsName.size:()I
if_icmplt 6
end local 4 13: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/jndi/dns/ZoneNode;
0 14 1 fqdn Lcom/sun/jndi/dns/DnsName;
1 14 2 znode Lcom/sun/jndi/dns/ZoneNode;
4 14 3 popNode Lcom/sun/jndi/dns/ZoneNode;
5 13 4 i I
MethodParameters:
Name Flags
fqdn
com.sun.jndi.dns.NameNode populate(com.sun.jndi.dns.DnsName, com.sun.jndi.dns.ResourceRecords);
descriptor: (Lcom/sun/jndi/dns/DnsName;Lcom/sun/jndi/dns/ResourceRecords;)Lcom/sun/jndi/dns/NameNode;
flags: (0x0000)
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.jndi.dns.NameNode
dup
aconst_null
invokespecial com.sun.jndi.dns.NameNode.<init>:(Ljava/lang/String;)V
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 10
3: StackMap locals: com.sun.jndi.dns.NameNode int
StackMap stack:
aload 2
getfield com.sun.jndi.dns.ResourceRecords.answer:Ljava/util/Vector;
iload 4
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast com.sun.jndi.dns.ResourceRecord
astore 5
start local 5 4: aload 5
invokevirtual com.sun.jndi.dns.ResourceRecord.getName:()Lcom/sun/jndi/dns/DnsName;
astore 6
start local 6 5: aload 6
invokevirtual com.sun.jndi.dns.DnsName.size:()I
aload 1
invokevirtual com.sun.jndi.dns.DnsName.size:()I
if_icmple 9
aload 6
aload 1
invokevirtual com.sun.jndi.dns.DnsName.startsWith:(Ljavax/naming/Name;)Z
ifeq 9
6: aload 3
aload 6
aload 1
invokevirtual com.sun.jndi.dns.DnsName.size:()I
invokevirtual com.sun.jndi.dns.NameNode.add:(Lcom/sun/jndi/dns/DnsName;I)Lcom/sun/jndi/dns/NameNode;
astore 7
start local 7 7: aload 5
invokevirtual com.sun.jndi.dns.ResourceRecord.getType:()I
iconst_2
if_icmpne 9
8: aload 7
iconst_1
invokevirtual com.sun.jndi.dns.NameNode.setZoneCut:(Z)V
end local 7 end local 6 end local 5 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 2
getfield com.sun.jndi.dns.ResourceRecords.answer:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmplt 3
end local 4 11: aload 2
getfield com.sun.jndi.dns.ResourceRecords.answer:Ljava/util/Vector;
invokevirtual java.util.Vector.firstElement:()Ljava/lang/Object;
checkcast com.sun.jndi.dns.ResourceRecord
astore 4
start local 4 12: aload 0
dup
astore 5
monitorenter
13: aload 0
new java.lang.ref.SoftReference
dup
aload 3
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield com.sun.jndi.dns.ZoneNode.contentsRef:Ljava/lang/ref/SoftReference;
14: aload 0
aload 4
invokestatic com.sun.jndi.dns.ZoneNode.getSerialNumber:(Lcom/sun/jndi/dns/ResourceRecord;)J
putfield com.sun.jndi.dns.ZoneNode.serialNumber:J
15: aload 0
aload 4
invokestatic com.sun.jndi.dns.ZoneNode.getMinimumTtl:(Lcom/sun/jndi/dns/ResourceRecord;)J
invokevirtual com.sun.jndi.dns.ZoneNode.setExpiration:(J)V
16: aload 3
aload 5
monitorexit
17: areturn
18: StackMap locals: com.sun.jndi.dns.ZoneNode com.sun.jndi.dns.DnsName com.sun.jndi.dns.ResourceRecords com.sun.jndi.dns.NameNode com.sun.jndi.dns.ResourceRecord com.sun.jndi.dns.ZoneNode
StackMap stack: java.lang.Throwable
aload 5
monitorexit
19: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/jndi/dns/ZoneNode;
0 20 1 zone Lcom/sun/jndi/dns/DnsName;
0 20 2 rrs Lcom/sun/jndi/dns/ResourceRecords;
1 20 3 newContents Lcom/sun/jndi/dns/NameNode;
2 11 4 i I
4 9 5 rr Lcom/sun/jndi/dns/ResourceRecord;
5 9 6 n Lcom/sun/jndi/dns/DnsName;
7 9 7 nnode Lcom/sun/jndi/dns/NameNode;
12 20 4 soa Lcom/sun/jndi/dns/ResourceRecord;
Exception table:
from to target type
13 17 18 any
18 19 18 any
MethodParameters:
Name Flags
zone
rrs
private void setExpiration(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=3, args_size=2
start local 0 start local 1 0: aload 0
new java.util.Date
dup
invokestatic java.lang.System.currentTimeMillis:()J
1: ldc 1000
lload 1
lmul
ladd
invokespecial java.util.Date.<init>:(J)V
2: putfield com.sun.jndi.dns.ZoneNode.expiration:Ljava/util/Date;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/jndi/dns/ZoneNode;
0 4 1 secsToExpiration J
MethodParameters:
Name Flags
secsToExpiration
private static long getMinimumTtl(com.sun.jndi.dns.ResourceRecord);
descriptor: (Lcom/sun/jndi/dns/ResourceRecord;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jndi.dns.ResourceRecord.getRdata:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 1: aload 1
bipush 32
invokevirtual java.lang.String.lastIndexOf:(I)I
iconst_1
iadd
istore 2
start local 2 2: aload 1
iload 2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 soa Lcom/sun/jndi/dns/ResourceRecord;
1 3 1 rdata Ljava/lang/String;
2 3 2 pos I
MethodParameters:
Name Flags
soa
int compareSerialNumberTo(com.sun.jndi.dns.ResourceRecord);
descriptor: (Lcom/sun/jndi/dns/ResourceRecord;)I
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.dns.ZoneNode.serialNumber:J
1: aload 1
invokestatic com.sun.jndi.dns.ZoneNode.getSerialNumber:(Lcom/sun/jndi/dns/ResourceRecord;)J
2: invokestatic com.sun.jndi.dns.ResourceRecord.compareSerialNumbers:(JJ)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jndi/dns/ZoneNode;
0 3 1 soa Lcom/sun/jndi/dns/ResourceRecord;
MethodParameters:
Name Flags
soa
private static long getSerialNumber(com.sun.jndi.dns.ResourceRecord);
descriptor: (Lcom/sun/jndi/dns/ResourceRecord;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jndi.dns.ResourceRecord.getRdata:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 1: aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 2: iconst_m1
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 8
5: StackMap locals: com.sun.jndi.dns.ResourceRecord java.lang.String int int int
StackMap stack:
iload 2
istore 3
6: aload 1
bipush 32
iload 3
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(II)I
istore 2
7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iconst_5
if_icmplt 5
end local 4 9: aload 1
iload 2
iconst_1
iadd
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 soa Lcom/sun/jndi/dns/ResourceRecord;
1 10 1 rdata Ljava/lang/String;
2 10 2 beg I
3 10 3 end I
4 9 4 i I
MethodParameters:
Name Flags
soa
}
SourceFile: "ZoneNode.java"