public final class org.apache.http.conn.util.PublicSuffixMatcher
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.http.conn.util.PublicSuffixMatcher
super_class: java.lang.Object
{
private final java.util.Map<java.lang.String, org.apache.http.conn.util.DomainType> rules;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;>;
private final java.util.Map<java.lang.String, org.apache.http.conn.util.DomainType> exceptions;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;>;
public void <init>(java.util.Collection<java.lang.String>, java.util.Collection<java.lang.String>);
descriptor: (Ljava/util/Collection;Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic org.apache.http.conn.util.DomainType.UNKNOWN:Lorg/apache/http/conn/util/DomainType;
aload 1
aload 2
invokespecial org.apache.http.conn.util.PublicSuffixMatcher.<init>:(Lorg/apache/http/conn/util/DomainType;Ljava/util/Collection;Ljava/util/Collection;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 2 1 rules Ljava/util/Collection<Ljava/lang/String;>;
0 2 2 exceptions Ljava/util/Collection<Ljava/lang/String;>;
Signature: (Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Collection<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
rules final
exceptions final
public void <init>(org.apache.http.conn.util.DomainType, java.util.Collection<java.lang.String>, java.util.Collection<java.lang.String>);
descriptor: (Lorg/apache/http/conn/util/DomainType;Ljava/util/Collection;Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Domain type"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 2
ldc "Domain suffix rules"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
aload 2
invokeinterface java.util.Collection.size:()I
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
putfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
4: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher org.apache.http.conn.util.DomainType java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 6: aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
aload 4
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
9: aload 3
ifnull 14
10: aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 13
StackMap locals:
StackMap stack:
11: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 12: aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
aload 4
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 13: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher org.apache.http.conn.util.DomainType java.util.Collection java.util.Collection
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 15 1 domainType Lorg/apache/http/conn/util/DomainType;
0 15 2 rules Ljava/util/Collection<Ljava/lang/String;>;
0 15 3 exceptions Ljava/util/Collection<Ljava/lang/String;>;
6 7 4 rule Ljava/lang/String;
12 13 4 exception Ljava/lang/String;
Signature: (Lorg/apache/http/conn/util/DomainType;Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Collection<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
domainType final
rules final
exceptions final
public void <init>(java.util.Collection<org.apache.http.conn.util.PublicSuffixList>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Domain suffix lists"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
3: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
4: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 18
StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.util.Collection top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.http.conn.util.PublicSuffixList
astore 2
start local 2 6: aload 2
invokevirtual org.apache.http.conn.util.PublicSuffixList.getType:()Lorg/apache/http/conn/util/DomainType;
astore 4
start local 4 7: aload 2
invokevirtual org.apache.http.conn.util.PublicSuffixList.getRules:()Ljava/util/List;
astore 5
start local 5 8: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.util.Collection org.apache.http.conn.util.PublicSuffixList java.util.Iterator org.apache.http.conn.util.DomainType java.util.List top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 10: aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
aload 6
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 11: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: aload 2
invokevirtual org.apache.http.conn.util.PublicSuffixList.getExceptions:()Ljava/util/List;
astore 6
start local 6 13: aload 6
ifnull 18
14: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 17
StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.util.Collection org.apache.http.conn.util.PublicSuffixList java.util.Iterator org.apache.http.conn.util.DomainType java.util.List java.util.List top java.util.Iterator
StackMap stack:
15: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 16: aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
aload 7
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 17: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
end local 6 end local 5 end local 4 end local 2 18: StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.util.Collection top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 20 1 lists Ljava/util/Collection<Lorg/apache/http/conn/util/PublicSuffixList;>;
6 18 2 list Lorg/apache/http/conn/util/PublicSuffixList;
7 18 4 domainType Lorg/apache/http/conn/util/DomainType;
8 18 5 rules Ljava/util/List<Ljava/lang/String;>;
10 11 6 rule Ljava/lang/String;
13 18 6 exceptions Ljava/util/List<Ljava/lang/String;>;
16 17 7 exception Ljava/lang/String;
Signature: (Ljava/util/Collection<Lorg/apache/http/conn/util/PublicSuffixList;>;)V
MethodParameters:
Name Flags
lists final
private static org.apache.http.conn.util.DomainType findEntry(java.util.Map<java.lang.String, org.apache.http.conn.util.DomainType>, java.lang.String);
descriptor: (Ljava/util/Map;Ljava/lang/String;)Lorg/apache/http/conn/util/DomainType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.http.conn.util.DomainType
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 map Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;>;
0 3 1 rule Ljava/lang/String;
Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;>;Ljava/lang/String;)Lorg/apache/http/conn/util/DomainType;
MethodParameters:
Name Flags
map final
rule final
private static boolean match(org.apache.http.conn.util.DomainType, org.apache.http.conn.util.DomainType);
descriptor: (Lorg/apache/http/conn/util/DomainType;Lorg/apache/http/conn/util/DomainType;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnull 2
aload 1
ifnull 1
aload 0
aload 1
invokevirtual org.apache.http.conn.util.DomainType.equals:(Ljava/lang/Object;)Z
ifeq 2
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 domainType Lorg/apache/http/conn/util/DomainType;
0 3 1 expectedType Lorg/apache/http/conn/util/DomainType;
MethodParameters:
Name Flags
domainType final
expectedType final
public java.lang.String getDomainRoot(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual org.apache.http.conn.util.PublicSuffixMatcher.getDomainRoot:(Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 1 1 domain Ljava/lang/String;
MethodParameters:
Name Flags
domain final
public java.lang.String getDomainRoot(java.lang.String, org.apache.http.conn.util.DomainType);
descriptor: (Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc "."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokestatic org.apache.http.conn.util.DnsUtils.normalize:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 5: aload 3
astore 4
start local 4 6: aconst_null
astore 5
start local 5 7: goto 29
8: StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 4
invokestatic java.net.IDN.toUnicode:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 9: aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
aload 6
invokestatic org.apache.http.conn.util.PublicSuffixMatcher.findEntry:(Ljava/util/Map;Ljava/lang/String;)Lorg/apache/http/conn/util/DomainType;
astore 7
start local 7 10: aload 7
aload 2
invokestatic org.apache.http.conn.util.PublicSuffixMatcher.match:(Lorg/apache/http/conn/util/DomainType;Lorg/apache/http/conn/util/DomainType;)Z
ifeq 12
11: aload 4
areturn
12: StackMap locals: java.lang.String org.apache.http.conn.util.DomainType
StackMap stack:
aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
aload 6
invokestatic org.apache.http.conn.util.PublicSuffixMatcher.findEntry:(Ljava/util/Map;Ljava/lang/String;)Lorg/apache/http/conn/util/DomainType;
astore 8
start local 8 13: aload 8
aload 2
invokestatic org.apache.http.conn.util.PublicSuffixMatcher.match:(Lorg/apache/http/conn/util/DomainType;Lorg/apache/http/conn/util/DomainType;)Z
ifeq 17
14: aload 8
getstatic org.apache.http.conn.util.DomainType.PRIVATE:Lorg/apache/http/conn/util/DomainType;
if_acmpne 16
15: aload 4
areturn
16: StackMap locals: org.apache.http.conn.util.DomainType
StackMap stack:
aload 5
areturn
17: StackMap locals:
StackMap stack:
aload 4
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
istore 9
start local 9 18: iload 9
iconst_m1
if_icmpeq 19
aload 4
iload 9
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 20
StackMap locals: int
StackMap stack:
19: aconst_null
StackMap locals:
StackMap stack: java.lang.String
20: astore 10
start local 10 21: aload 10
ifnull 27
22: aload 0
getfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
new java.lang.StringBuilder
dup
ldc "*."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokestatic java.net.IDN.toUnicode:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.apache.http.conn.util.PublicSuffixMatcher.findEntry:(Ljava/util/Map;Ljava/lang/String;)Lorg/apache/http/conn/util/DomainType;
astore 11
start local 11 23: aload 11
aload 2
invokestatic org.apache.http.conn.util.PublicSuffixMatcher.match:(Lorg/apache/http/conn/util/DomainType;Lorg/apache/http/conn/util/DomainType;)Z
ifeq 27
24: aload 11
getstatic org.apache.http.conn.util.DomainType.PRIVATE:Lorg/apache/http/conn/util/DomainType;
if_acmpne 26
25: aload 4
areturn
26: StackMap locals: java.lang.String org.apache.http.conn.util.DomainType
StackMap stack:
aload 5
areturn
end local 11 27: StackMap locals:
StackMap stack:
aload 4
astore 5
28: aload 10
astore 4
end local 10 end local 9 end local 8 end local 7 end local 6 29: StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.lang.String org.apache.http.conn.util.DomainType java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 4
ifnonnull 8
30: aload 2
ifnull 31
aload 2
getstatic org.apache.http.conn.util.DomainType.UNKNOWN:Lorg/apache/http/conn/util/DomainType;
if_acmpne 32
31: StackMap locals:
StackMap stack:
aload 5
areturn
32: StackMap locals:
StackMap stack:
aconst_null
areturn
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 33 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 33 1 domain Ljava/lang/String;
0 33 2 expectedType Lorg/apache/http/conn/util/DomainType;
5 33 3 normalized Ljava/lang/String;
6 33 4 segment Ljava/lang/String;
7 33 5 result Ljava/lang/String;
9 29 6 key Ljava/lang/String;
10 29 7 exceptionRule Lorg/apache/http/conn/util/DomainType;
13 29 8 domainRule Lorg/apache/http/conn/util/DomainType;
18 29 9 nextdot I
21 29 10 nextSegment Ljava/lang/String;
23 27 11 wildcardDomainRule Lorg/apache/http/conn/util/DomainType;
MethodParameters:
Name Flags
domain final
expectedType final
public boolean matches(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual org.apache.http.conn.util.PublicSuffixMatcher.matches:(Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 1 1 domain Ljava/lang/String;
MethodParameters:
Name Flags
domain final
public boolean matches(java.lang.String, org.apache.http.conn.util.DomainType);
descriptor: (Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
3: aload 1
ldc "."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
aload 1
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 5
StackMap locals:
StackMap stack: org.apache.http.conn.util.PublicSuffixMatcher
4: aload 1
StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.lang.String org.apache.http.conn.util.DomainType
StackMap stack: org.apache.http.conn.util.PublicSuffixMatcher java.lang.String
5: aload 2
6: invokevirtual org.apache.http.conn.util.PublicSuffixMatcher.getDomainRoot:(Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Ljava/lang/String;
astore 3
start local 3 7: aload 3
ifnonnull 8
iconst_1
ireturn
StackMap locals: java.lang.String
StackMap stack:
8: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/http/conn/util/PublicSuffixMatcher;
0 9 1 domain Ljava/lang/String;
0 9 2 expectedType Lorg/apache/http/conn/util/DomainType;
7 9 3 domainRoot Ljava/lang/String;
MethodParameters:
Name Flags
domain final
expectedType final
}
SourceFile: "PublicSuffixMatcher.java"
RuntimeInvisibleAnnotations:
org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.SAFE:Lorg/apache/http/annotation/ThreadingBehavior;)