final class com.google.common.base.Converter$FunctionBasedConverter<A, B> extends com.google.common.base.Converter<A, B> implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.base.Converter$FunctionBasedConverter
super_class: com.google.common.base.Converter
{
private final com.google.common.base.Function<? super A, ? extends B> forwardFunction;
descriptor: Lcom/google/common/base/Function;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/google/common/base/Function<-TA;+TB;>;
private final com.google.common.base.Function<? super B, ? extends A> backwardFunction;
descriptor: Lcom/google/common/base/Function;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/google/common/base/Function<-TB;+TA;>;
private void <init>(com.google.common.base.Function<? super A, ? extends B>, com.google.common.base.Function<? super B, ? extends A>);
descriptor: (Lcom/google/common/base/Function;Lcom/google/common/base/Function;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.google.common.base.Converter.<init>:()V
1: aload 0
aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.google.common.base.Function
putfield com.google.common.base.Converter$FunctionBasedConverter.forwardFunction:Lcom/google/common/base/Function;
2: aload 0
aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.google.common.base.Function
putfield com.google.common.base.Converter$FunctionBasedConverter.backwardFunction:Lcom/google/common/base/Function;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/base/Converter$FunctionBasedConverter<TA;TB;>;
0 4 1 forwardFunction Lcom/google/common/base/Function<-TA;+TB;>;
0 4 2 backwardFunction Lcom/google/common/base/Function<-TB;+TA;>;
Signature: (Lcom/google/common/base/Function<-TA;+TB;>;Lcom/google/common/base/Function<-TB;+TA;>;)V
MethodParameters:
Name Flags
forwardFunction
backwardFunction
protected B doForward();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.base.Converter$FunctionBasedConverter.forwardFunction:Lcom/google/common/base/Function;
aload 1
invokeinterface com.google.common.base.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/base/Converter$FunctionBasedConverter<TA;TB;>;
0 1 1 a TA;
Signature: (TA;)TB;
MethodParameters:
Name Flags
a
protected A doBackward();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.base.Converter$FunctionBasedConverter.backwardFunction:Lcom/google/common/base/Function;
aload 1
invokeinterface com.google.common.base.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/base/Converter$FunctionBasedConverter<TA;TB;>;
0 1 1 b TB;
Signature: (TB;)TA;
MethodParameters:
Name Flags
b
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
instanceof com.google.common.base.Converter$FunctionBasedConverter
ifeq 6
1: aload 1
checkcast com.google.common.base.Converter$FunctionBasedConverter
astore 2
start local 2 2: aload 0
getfield com.google.common.base.Converter$FunctionBasedConverter.forwardFunction:Lcom/google/common/base/Function;
aload 2
getfield com.google.common.base.Converter$FunctionBasedConverter.forwardFunction:Lcom/google/common/base/Function;
invokeinterface com.google.common.base.Function.equals:(Ljava/lang/Object;)Z
ifeq 5
3: aload 0
getfield com.google.common.base.Converter$FunctionBasedConverter.backwardFunction:Lcom/google/common/base/Function;
aload 2
getfield com.google.common.base.Converter$FunctionBasedConverter.backwardFunction:Lcom/google/common/base/Function;
invokeinterface com.google.common.base.Function.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
StackMap locals: com.google.common.base.Converter$FunctionBasedConverter
StackMap stack:
5: iconst_0
ireturn
end local 2 6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/google/common/base/Converter$FunctionBasedConverter<TA;TB;>;
0 7 1 object Ljava/lang/Object;
2 6 2 that Lcom/google/common/base/Converter$FunctionBasedConverter<**>;
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=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.base.Converter$FunctionBasedConverter.forwardFunction:Lcom/google/common/base/Function;
invokevirtual java.lang.Object.hashCode:()I
bipush 31
imul
aload 0
getfield com.google.common.base.Converter$FunctionBasedConverter.backwardFunction:Lcom/google/common/base/Function;
invokevirtual java.lang.Object.hashCode:()I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/base/Converter$FunctionBasedConverter<TA;TB;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Converter.from("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.google.common.base.Converter$FunctionBasedConverter.forwardFunction:Lcom/google/common/base/Function;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.common.base.Converter$FunctionBasedConverter.backwardFunction:Lcom/google/common/base/Function;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/base/Converter$FunctionBasedConverter<TA;TB;>;
}
Signature: <A:Ljava/lang/Object;B:Ljava/lang/Object;>Lcom/google/common/base/Converter<TA;TB;>;Ljava/io/Serializable;
SourceFile: "Converter.java"
NestHost: com.google.common.base.Converter
InnerClasses:
private final FunctionBasedConverter = com.google.common.base.Converter$FunctionBasedConverter of com.google.common.base.Converter