public final class com.google.common.net.InternetDomainName
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.google.common.net.InternetDomainName
super_class: java.lang.Object
{
private static final com.google.common.base.CharMatcher DOTS_MATCHER;
descriptor: Lcom/google/common/base/CharMatcher;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.google.common.base.Splitter DOT_SPLITTER;
descriptor: Lcom/google/common/base/Splitter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.google.common.base.Joiner DOT_JOINER;
descriptor: Lcom/google/common/base/Joiner;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int NO_SUFFIX_FOUND;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int MAX_PARTS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 127
private static final int MAX_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 253
private static final int MAX_DOMAIN_PART_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 63
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.google.common.collect.ImmutableList<java.lang.String> parts;
descriptor: Lcom/google/common/collect/ImmutableList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/google/common/collect/ImmutableList<Ljava/lang/String;>;
private final int publicSuffixIndex;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int registrySuffixIndex;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final com.google.common.base.CharMatcher DASH_MATCHER;
descriptor: Lcom/google/common/base/CharMatcher;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.google.common.base.CharMatcher PART_CHAR_MATCHER;
descriptor: Lcom/google/common/base/CharMatcher;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc ".\u3002\uFF0E\uFF61"
invokestatic com.google.common.base.CharMatcher.anyOf:(Ljava/lang/CharSequence;)Lcom/google/common/base/CharMatcher;
putstatic com.google.common.net.InternetDomainName.DOTS_MATCHER:Lcom/google/common/base/CharMatcher;
1: bipush 46
invokestatic com.google.common.base.Splitter.on:(C)Lcom/google/common/base/Splitter;
putstatic com.google.common.net.InternetDomainName.DOT_SPLITTER:Lcom/google/common/base/Splitter;
2: bipush 46
invokestatic com.google.common.base.Joiner.on:(C)Lcom/google/common/base/Joiner;
putstatic com.google.common.net.InternetDomainName.DOT_JOINER:Lcom/google/common/base/Joiner;
3: ldc "-_"
invokestatic com.google.common.base.CharMatcher.anyOf:(Ljava/lang/CharSequence;)Lcom/google/common/base/CharMatcher;
putstatic com.google.common.net.InternetDomainName.DASH_MATCHER:Lcom/google/common/base/CharMatcher;
4: invokestatic com.google.common.base.CharMatcher.javaLetterOrDigit:()Lcom/google/common/base/CharMatcher;
getstatic com.google.common.net.InternetDomainName.DASH_MATCHER:Lcom/google/common/base/CharMatcher;
invokevirtual com.google.common.base.CharMatcher.or:(Lcom/google/common/base/CharMatcher;)Lcom/google/common/base/CharMatcher;
5: putstatic com.google.common.net.InternetDomainName.PART_CHAR_MATCHER:Lcom/google/common/base/CharMatcher;
6: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic com.google.common.net.InternetDomainName.DOTS_MATCHER:Lcom/google/common/base/CharMatcher;
aload 1
bipush 46
invokevirtual com.google.common.base.CharMatcher.replaceFrom:(Ljava/lang/CharSequence;C)Ljava/lang/String;
invokestatic com.google.common.base.Ascii.toLowerCase:(Ljava/lang/String;)Ljava/lang/String;
astore 1
2: aload 1
ldc "."
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 4
3: aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
4: StackMap locals: com.google.common.net.InternetDomainName java.lang.String
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
sipush 253
if_icmpgt 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: ldc "Domain name too long: '%s':"
aload 1
invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
7: aload 0
aload 1
putfield com.google.common.net.InternetDomainName.name:Ljava/lang/String;
8: aload 0
getstatic com.google.common.net.InternetDomainName.DOT_SPLITTER:Lcom/google/common/base/Splitter;
aload 1
invokevirtual com.google.common.base.Splitter.split:(Ljava/lang/CharSequence;)Ljava/lang/Iterable;
invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
putfield com.google.common.net.InternetDomainName.parts:Lcom/google/common/collect/ImmutableList;
9: aload 0
getfield com.google.common.net.InternetDomainName.parts:Lcom/google/common/collect/ImmutableList;
invokevirtual com.google.common.collect.ImmutableList.size:()I
bipush 127
if_icmpgt 10
iconst_1
goto 11
StackMap locals:
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: ldc "Domain has too many parts: '%s'"
aload 1
invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
12: aload 0
getfield com.google.common.net.InternetDomainName.parts:Lcom/google/common/collect/ImmutableList;
invokestatic com.google.common.net.InternetDomainName.validateSyntax:(Ljava/util/List;)Z
ldc "Not a valid domain name: '%s'"
aload 1
invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
13: aload 0
aload 0
invokestatic com.google.common.base.Optional.absent:()Lcom/google/common/base/Optional;
invokevirtual com.google.common.net.InternetDomainName.findSuffixOfType:(Lcom/google/common/base/Optional;)I
putfield com.google.common.net.InternetDomainName.publicSuffixIndex:I
14: aload 0
aload 0
getstatic com.google.thirdparty.publicsuffix.PublicSuffixType.REGISTRY:Lcom/google/thirdparty/publicsuffix/PublicSuffixType;
invokestatic com.google.common.base.Optional.of:(Ljava/lang/Object;)Lcom/google/common/base/Optional;
invokevirtual com.google.common.net.InternetDomainName.findSuffixOfType:(Lcom/google/common/base/Optional;)I
putfield com.google.common.net.InternetDomainName.registrySuffixIndex:I
15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/google/common/net/InternetDomainName;
0 16 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private int findSuffixOfType(com.google.common.base.Optional<com.google.thirdparty.publicsuffix.PublicSuffixType>);
descriptor: (Lcom/google/common/base/Optional;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.net.InternetDomainName.parts:Lcom/google/common/collect/ImmutableList;
invokevirtual com.google.common.collect.ImmutableList.size:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 13
3: StackMap locals: int int
StackMap stack:
getstatic com.google.common.net.InternetDomainName.DOT_JOINER:Lcom/google/common/base/Joiner;
aload 0
getfield com.google.common.net.InternetDomainName.parts:Lcom/google/common/collect/ImmutableList;
iload 3
iload 2
invokevirtual com.google.common.collect.ImmutableList.subList:(II)Lcom/google/common/collect/ImmutableList;
invokevirtual com.google.common.base.Joiner.join:(Ljava/lang/Iterable;)Ljava/lang/String;
astore 4
start local 4 4: aload 1
getstatic com.google.thirdparty.publicsuffix.PublicSuffixPatterns.EXACT:Lcom/google/common/collect/ImmutableMap;
aload 4
invokevirtual com.google.common.collect.ImmutableMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.google.thirdparty.publicsuffix.PublicSuffixType
invokestatic com.google.common.base.Optional.fromNullable:(Ljava/lang/Object;)Lcom/google/common/base/Optional;
5: invokestatic com.google.common.net.InternetDomainName.matchesType:(Lcom/google/common/base/Optional;Lcom/google/common/base/Optional;)Z
6: ifeq 8
7: iload 3
ireturn
8: StackMap locals: java.lang.String
StackMap stack:
getstatic com.google.thirdparty.publicsuffix.PublicSuffixPatterns.EXCLUDED:Lcom/google/common/collect/ImmutableMap;
aload 4
invokevirtual com.google.common.collect.ImmutableMap.containsKey:(Ljava/lang/Object;)Z
ifeq 10
9: iload 3
iconst_1
iadd
ireturn
10: StackMap locals:
StackMap stack:
aload 1
aload 4
invokestatic com.google.common.net.InternetDomainName.matchesWildcardSuffixType:(Lcom/google/common/base/Optional;Ljava/lang/String;)Z
ifeq 12
11: iload 3
ireturn
end local 4 12: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
13: iload 3
iload 2
if_icmplt 3
end local 3 14: iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/google/common/net/InternetDomainName;
0 15 1 desiredType Lcom/google/common/base/Optional<Lcom/google/thirdparty/publicsuffix/PublicSuffixType;>;
1 15 2 partsSize I
2 14 3 i I
4 12 4 ancestorName Ljava/lang/String;
Signature: (Lcom/google/common/base/Optional<Lcom/google/thirdparty/publicsuffix/PublicSuffixType;>;)I
MethodParameters:
Name Flags
desiredType
public static com.google.common.net.InternetDomainName from(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/google/common/net/InternetDomainName;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.google.common.net.InternetDomainName
dup
aload 0
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokespecial com.google.common.net.InternetDomainName.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 domain Ljava/lang/String;
MethodParameters:
Name Flags
domain
private static boolean validateSyntax(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 1
start local 1 1: aload 0
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
iconst_1
invokestatic com.google.common.net.InternetDomainName.validatePart:(Ljava/lang/String;Z)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
iconst_0
istore 2
start local 2 4: goto 9
5: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 6: aload 3
iconst_0
invokestatic com.google.common.net.InternetDomainName.validatePart:(Ljava/lang/String;Z)Z
ifne 8
7: iconst_0
ireturn
end local 3 8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
iload 1
if_icmplt 5
end local 2 10: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 parts Ljava/util/List<Ljava/lang/String;>;
1 11 1 lastIndex I
4 10 2 i I
6 8 3 part Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/lang/String;>;)Z
MethodParameters:
Name Flags
parts
private static boolean validatePart(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.String.length:()I
iconst_1
if_icmplt 1
aload 0
invokevirtual java.lang.String.length:()I
bipush 63
if_icmple 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
invokestatic com.google.common.base.CharMatcher.ascii:()Lcom/google/common/base/CharMatcher;
aload 0
invokevirtual com.google.common.base.CharMatcher.retainFrom:(Ljava/lang/CharSequence;)Ljava/lang/String;
astore 2
start local 2 3: getstatic com.google.common.net.InternetDomainName.PART_CHAR_MATCHER:Lcom/google/common/base/CharMatcher;
aload 2
invokevirtual com.google.common.base.CharMatcher.matchesAllOf:(Ljava/lang/CharSequence;)Z
ifne 5
4: iconst_0
ireturn
5: StackMap locals: java.lang.String
StackMap stack:
getstatic com.google.common.net.InternetDomainName.DASH_MATCHER:Lcom/google/common/base/CharMatcher;
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokevirtual com.google.common.base.CharMatcher.matches:(C)Z
ifne 7
6: getstatic com.google.common.net.InternetDomainName.DASH_MATCHER:Lcom/google/common/base/CharMatcher;
aload 0
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
invokevirtual com.google.common.base.CharMatcher.matches:(C)Z
ifeq 8
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
8: StackMap locals:
StackMap stack:
iload 1
ifeq 10
invokestatic com.google.common.base.CharMatcher.digit:()Lcom/google/common/base/CharMatcher;
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokevirtual com.google.common.base.CharMatcher.matches:(C)Z
ifeq 10
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 part Ljava/lang/String;
0 11 1 isFinalPart Z
3 11 2 asciiChars Ljava/lang/String;
MethodParameters:
Name Flags
part
isFinalPart
public com.google.common.collect.ImmutableList<java.lang.String> parts();
descriptor: ()Lcom/google/common/collect/ImmutableList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.net.InternetDomainName.parts:Lcom/google/common/collect/ImmutableList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/net/InternetDomainName;
Signature: ()Lcom/google/common/collect/ImmutableList<Ljava/lang/String;>;
public boolean isPublicSuffix();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.net.InternetDomainName.publicSuffixIndex:I
ifne 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/google/common/net/InternetDomainName;
public boolean hasPublicSuffix();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.net.InternetDomainName.publicSuffixIndex:I
iconst_m1
if_icmpeq 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/google/common/net/InternetDomainName;
public com.google.common.net.InternetDomainName publicSuffix();
descriptor: ()Lcom/google/common/net/InternetDomainName;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.net.InternetDomainName.hasPublicSuffix:()Z
ifeq 1
aload 0
aload 0
getfield com.google.common.net.InternetDomainName.publicSuffixIndex:I
invokevirtual com.google.common.net.InternetDomainName.ancestor:(I)Lcom/google/common/net/InternetDomainName;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: com.google.common.net.InternetDomainName
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/net/InternetDomainName;
public boolean isUnderPublicSuffix();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.net.InternetDomainName.publicSuffixIndex:I
ifle 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/google/common/net/InternetDomainName;
public boolean isTopPrivateDomain();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.net.InternetDomainName.publicSuffixIndex:I
iconst_1
if_icmpne 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/google/common/net/InternetDomainName;
public com.google.common.net.InternetDomainName topPrivateDomain();
descriptor: ()Lcom/google/common/net/InternetDomainName;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.net.InternetDomainName.isTopPrivateDomain:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.net.InternetDomainName.isUnderPublicSuffix:()Z
ldc "Not under a public suffix: %s"
aload 0
getfield com.google.common.net.InternetDomainName.name:Ljava/lang/String;
invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/String;Ljava/lang/Object;)V
3: aload 0
aload 0
getfield com.google.common.net.InternetDomainName.publicSuffixIndex:I
iconst_1
isub
invokevirtual com.google.common.net.InternetDomainName.ancestor:(I)Lcom/google/common/net/InternetDomainName;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/net/InternetDomainName;
public boolean isRegistrySuffix();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.net.InternetDomainName.registrySuffixIndex:I
ifne 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/google/common/net/InternetDomainName;
public boolean hasRegistrySuffix();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.net.InternetDomainName.registrySuffixIndex:I
iconst_m1
if_icmpeq 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/google/common/net/InternetDomainName;
public com.google.common.net.InternetDomainName registrySuffix();
descriptor: ()Lcom/google/common/net/InternetDomainName;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.net.InternetDomainName.hasRegistrySuffix:()Z
ifeq 1
aload 0
aload 0
getfield com.google.common.net.InternetDomainName.registrySuffixIndex:I
invokevirtual com.google.common.net.InternetDomainName.ancestor:(I)Lcom/google/common/net/InternetDomainName;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: com.google.common.net.InternetDomainName
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/net/InternetDomainName;
public boolean isUnderRegistrySuffix();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.net.InternetDomainName.registrySuffixIndex:I
ifle 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/google/common/net/InternetDomainName;
public boolean isTopDomainUnderRegistrySuffix();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.net.InternetDomainName.registrySuffixIndex:I
iconst_1
if_icmpne 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/google/common/net/InternetDomainName;
public com.google.common.net.InternetDomainName topDomainUnderRegistrySuffix();
descriptor: ()Lcom/google/common/net/InternetDomainName;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.net.InternetDomainName.isTopDomainUnderRegistrySuffix:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.net.InternetDomainName.isUnderRegistrySuffix:()Z
ldc "Not under a registry suffix: %s"
aload 0
getfield com.google.common.net.InternetDomainName.name:Ljava/lang/String;
invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/String;Ljava/lang/Object;)V
3: aload 0
aload 0
getfield com.google.common.net.InternetDomainName.registrySuffixIndex:I
iconst_1
isub
invokevirtual com.google.common.net.InternetDomainName.ancestor:(I)Lcom/google/common/net/InternetDomainName;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/net/InternetDomainName;
public boolean hasParent();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.net.InternetDomainName.parts:Lcom/google/common/collect/ImmutableList;
invokevirtual com.google.common.collect.ImmutableList.size:()I
iconst_1
if_icmple 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/google/common/net/InternetDomainName;
public com.google.common.net.InternetDomainName parent();
descriptor: ()Lcom/google/common/net/InternetDomainName;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.net.InternetDomainName.hasParent:()Z
ldc "Domain '%s' has no parent"
aload 0
getfield com.google.common.net.InternetDomainName.name:Ljava/lang/String;
invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/String;Ljava/lang/Object;)V
1: aload 0
iconst_1
invokevirtual com.google.common.net.InternetDomainName.ancestor:(I)Lcom/google/common/net/InternetDomainName;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/net/InternetDomainName;
private com.google.common.net.InternetDomainName ancestor(int);
descriptor: (I)Lcom/google/common/net/InternetDomainName;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.google.common.net.InternetDomainName.DOT_JOINER:Lcom/google/common/base/Joiner;
aload 0
getfield com.google.common.net.InternetDomainName.parts:Lcom/google/common/collect/ImmutableList;
iload 1
aload 0
getfield com.google.common.net.InternetDomainName.parts:Lcom/google/common/collect/ImmutableList;
invokevirtual com.google.common.collect.ImmutableList.size:()I
invokevirtual com.google.common.collect.ImmutableList.subList:(II)Lcom/google/common/collect/ImmutableList;
invokevirtual com.google.common.base.Joiner.join:(Ljava/lang/Iterable;)Ljava/lang/String;
invokestatic com.google.common.net.InternetDomainName.from:(Ljava/lang/String;)Lcom/google/common/net/InternetDomainName;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/net/InternetDomainName;
0 1 1 levels I
MethodParameters:
Name Flags
levels
public com.google.common.net.InternetDomainName child(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/google/common/net/InternetDomainName;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.common.net.InternetDomainName.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.google.common.net.InternetDomainName.from:(Ljava/lang/String;)Lcom/google/common/net/InternetDomainName;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/net/InternetDomainName;
0 1 1 leftParts Ljava/lang/String;
MethodParameters:
Name Flags
leftParts
public static boolean isValid(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.google.common.net.InternetDomainName.from:(Ljava/lang/String;)Lcom/google/common/net/InternetDomainName;
pop
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
pop
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
name
private static boolean matchesWildcardSuffixType(com.google.common.base.Optional<com.google.thirdparty.publicsuffix.PublicSuffixType>, java.lang.String);
descriptor: (Lcom/google/common/base/Optional;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.google.common.net.InternetDomainName.DOT_SPLITTER:Lcom/google/common/base/Splitter;
iconst_2
invokevirtual com.google.common.base.Splitter.limit:(I)Lcom/google/common/base/Splitter;
aload 1
invokevirtual com.google.common.base.Splitter.splitToList:(Ljava/lang/CharSequence;)Ljava/util/List;
astore 2
start local 2 1: aload 2
invokeinterface java.util.List.size:()I
iconst_2
if_icmpne 6
2: aload 0
getstatic com.google.thirdparty.publicsuffix.PublicSuffixPatterns.UNDER:Lcom/google/common/collect/ImmutableMap;
aload 2
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual com.google.common.collect.ImmutableMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.google.thirdparty.publicsuffix.PublicSuffixType
invokestatic com.google.common.base.Optional.fromNullable:(Ljava/lang/Object;)Lcom/google/common/base/Optional;
3: invokestatic com.google.common.net.InternetDomainName.matchesType:(Lcom/google/common/base/Optional;Lcom/google/common/base/Optional;)Z
4: ifeq 6
5: iconst_1
ireturn
StackMap locals: java.util.List
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 desiredType Lcom/google/common/base/Optional<Lcom/google/thirdparty/publicsuffix/PublicSuffixType;>;
0 7 1 domain Ljava/lang/String;
1 7 2 pieces Ljava/util/List<Ljava/lang/String;>;
Signature: (Lcom/google/common/base/Optional<Lcom/google/thirdparty/publicsuffix/PublicSuffixType;>;Ljava/lang/String;)Z
MethodParameters:
Name Flags
desiredType
domain
private static boolean matchesType(com.google.common.base.Optional<com.google.thirdparty.publicsuffix.PublicSuffixType>, com.google.common.base.Optional<com.google.thirdparty.publicsuffix.PublicSuffixType>);
descriptor: (Lcom/google/common/base/Optional;Lcom/google/common/base/Optional;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.google.common.base.Optional.isPresent:()Z
ifeq 1
aload 0
aload 1
invokevirtual com.google.common.base.Optional.equals:(Ljava/lang/Object;)Z
goto 2
StackMap locals:
StackMap stack:
1: aload 1
invokevirtual com.google.common.base.Optional.isPresent:()Z
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 desiredType Lcom/google/common/base/Optional<Lcom/google/thirdparty/publicsuffix/PublicSuffixType;>;
0 3 1 actualType Lcom/google/common/base/Optional<Lcom/google/thirdparty/publicsuffix/PublicSuffixType;>;
Signature: (Lcom/google/common/base/Optional<Lcom/google/thirdparty/publicsuffix/PublicSuffixType;>;Lcom/google/common/base/Optional<Lcom/google/thirdparty/publicsuffix/PublicSuffixType;>;)Z
MethodParameters:
Name Flags
desiredType
actualType
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 com.google.common.net.InternetDomainName.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/net/InternetDomainName;
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 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof com.google.common.net.InternetDomainName
ifeq 5
3: aload 1
checkcast com.google.common.net.InternetDomainName
astore 2
start local 2 4: aload 0
getfield com.google.common.net.InternetDomainName.name:Ljava/lang/String;
aload 2
getfield com.google.common.net.InternetDomainName.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/net/InternetDomainName;
0 6 1 object Ljava/lang/Object;
4 5 2 that Lcom/google/common/net/InternetDomainName;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
object
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.net.InternetDomainName.name:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/net/InternetDomainName;
}
SourceFile: "InternetDomainName.java"
RuntimeVisibleAnnotations:
com.google.errorprone.annotations.Immutable()
RuntimeInvisibleAnnotations:
com.google.common.annotations.Beta()
com.google.common.annotations.GwtCompatible()