public abstract class com.google.common.base.Converter<A, B> implements com.google.common.base.Function<A, B>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.google.common.base.Converter
super_class: java.lang.Object
{
private final boolean handleNullAutomatically;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private transient com.google.common.base.Converter<B, A> reverse;
descriptor: Lcom/google/common/base/Converter;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Lcom/google/common/base/Converter<TB;TA;>;
RuntimeVisibleAnnotations:
com.google.errorprone.annotations.concurrent.LazyInit()
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.MonotonicNonNull()
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokespecial com.google.common.base.Converter.<init>:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/base/Converter<TA;TB;>;
void <init>(boolean);
descriptor: (Z)V
flags: (0x0000)
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
iload 1
putfield com.google.common.base.Converter.handleNullAutomatically:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/base/Converter<TA;TB;>;
0 3 1 handleNullAutomatically Z
MethodParameters:
Name Flags
handleNullAutomatically
protected abstract B doForward();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TA;)TB;
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.ForOverride()
MethodParameters:
Name Flags
a
protected abstract A doBackward();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TB;)TA;
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.ForOverride()
MethodParameters:
Name Flags
b
public final B convert();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.google.common.base.Converter.correctedDoForward:(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<TA;TB;>;
0 1 1 a TA;
Signature: (TA;)TB;
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.CanIgnoreReturnValue()
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
a
B correctedDoForward();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.base.Converter.handleNullAutomatically:Z
ifeq 4
1: aload 1
ifnonnull 2
aconst_null
goto 3
StackMap locals:
StackMap stack:
2: aload 0
aload 1
invokevirtual com.google.common.base.Converter.doForward:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.google.common.base.Converter.doForward:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/base/Converter<TA;TB;>;
0 5 1 a TA;
Signature: (TA;)TB;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
a
A correctedDoBackward();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.base.Converter.handleNullAutomatically:Z
ifeq 4
1: aload 1
ifnonnull 2
aconst_null
goto 3
StackMap locals:
StackMap stack:
2: aload 0
aload 1
invokevirtual com.google.common.base.Converter.doBackward:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.google.common.base.Converter.doBackward:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/base/Converter<TA;TB;>;
0 5 1 b TB;
Signature: (TB;)TA;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
b
public java.lang.Iterable<B> convertAll(java.lang.Iterable<? extends A>);
descriptor: (Ljava/lang/Iterable;)Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "fromIterable"
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: new com.google.common.base.Converter$1
dup
aload 0
aload 1
invokespecial com.google.common.base.Converter$1.<init>:(Lcom/google/common/base/Converter;Ljava/lang/Iterable;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/base/Converter<TA;TB;>;
0 2 1 fromIterable Ljava/lang/Iterable<+TA;>;
Signature: (Ljava/lang/Iterable<+TA;>;)Ljava/lang/Iterable<TB;>;
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.CanIgnoreReturnValue()
MethodParameters:
Name Flags
fromIterable final
public com.google.common.base.Converter<B, A> reverse();
descriptor: ()Lcom/google/common/base/Converter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.common.base.Converter.reverse:Lcom/google/common/base/Converter;
astore 1
start local 1 1: aload 1
ifnonnull 2
aload 0
new com.google.common.base.Converter$ReverseConverter
dup
aload 0
invokespecial com.google.common.base.Converter$ReverseConverter.<init>:(Lcom/google/common/base/Converter;)V
dup_x1
putfield com.google.common.base.Converter.reverse:Lcom/google/common/base/Converter;
goto 3
StackMap locals: com.google.common.base.Converter
StackMap stack:
2: aload 1
StackMap locals:
StackMap stack: com.google.common.base.Converter
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/base/Converter<TA;TB;>;
1 4 1 result Lcom/google/common/base/Converter<TB;TA;>;
Signature: ()Lcom/google/common/base/Converter<TB;TA;>;
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.CanIgnoreReturnValue()
public final <C> com.google.common.base.Converter<A, C> andThen(com.google.common.base.Converter<B, C>);
descriptor: (Lcom/google/common/base/Converter;)Lcom/google/common/base/Converter;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.google.common.base.Converter.doAndThen:(Lcom/google/common/base/Converter;)Lcom/google/common/base/Converter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/base/Converter<TA;TB;>;
0 1 1 secondConverter Lcom/google/common/base/Converter<TB;TC;>;
Signature: <C:Ljava/lang/Object;>(Lcom/google/common/base/Converter<TB;TC;>;)Lcom/google/common/base/Converter<TA;TC;>;
MethodParameters:
Name Flags
secondConverter
<C> com.google.common.base.Converter<A, C> doAndThen(com.google.common.base.Converter<B, C>);
descriptor: (Lcom/google/common/base/Converter;)Lcom/google/common/base/Converter;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.google.common.base.Converter$ConverterComposition
dup
aload 0
aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.google.common.base.Converter
invokespecial com.google.common.base.Converter$ConverterComposition.<init>:(Lcom/google/common/base/Converter;Lcom/google/common/base/Converter;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/base/Converter<TA;TB;>;
0 1 1 secondConverter Lcom/google/common/base/Converter<TB;TC;>;
Signature: <C:Ljava/lang/Object;>(Lcom/google/common/base/Converter<TB;TC;>;)Lcom/google/common/base/Converter<TA;TC;>;
MethodParameters:
Name Flags
secondConverter
public final B apply();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.google.common.base.Converter.convert:(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<TA;TB;>;
0 1 1 a TA;
Signature: (TA;)TB;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.CanIgnoreReturnValue()
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
a
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/base/Converter<TA;TB;>;
0 1 1 object Ljava/lang/Object;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
object
public static <A, B> com.google.common.base.Converter<A, B> from(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;)Lcom/google/common/base/Converter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.google.common.base.Converter$FunctionBasedConverter
dup
aload 0
aload 1
invokespecial com.google.common.base.Converter$FunctionBasedConverter.<init>:(Lcom/google/common/base/Function;Lcom/google/common/base/Function;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 forwardFunction Lcom/google/common/base/Function<-TA;+TB;>;
0 1 1 backwardFunction Lcom/google/common/base/Function<-TB;+TA;>;
Signature: <A:Ljava/lang/Object;B:Ljava/lang/Object;>(Lcom/google/common/base/Function<-TA;+TB;>;Lcom/google/common/base/Function<-TB;+TA;>;)Lcom/google/common/base/Converter<TA;TB;>;
MethodParameters:
Name Flags
forwardFunction
backwardFunction
public static <T> com.google.common.base.Converter<T, T> identity();
descriptor: ()Lcom/google/common/base/Converter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.google.common.base.Converter$IdentityConverter.INSTANCE:Lcom/google/common/base/Converter$IdentityConverter;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <T:Ljava/lang/Object;>()Lcom/google/common/base/Converter<TT;TT;>;
}
Signature: <A:Ljava/lang/Object;B:Ljava/lang/Object;>Ljava/lang/Object;Lcom/google/common/base/Function<TA;TB;>;
SourceFile: "Converter.java"
NestMembers:
com.google.common.base.Converter$1 com.google.common.base.Converter$1$1 com.google.common.base.Converter$ConverterComposition com.google.common.base.Converter$FunctionBasedConverter com.google.common.base.Converter$IdentityConverter com.google.common.base.Converter$ReverseConverter
InnerClasses:
com.google.common.base.Converter$1
private final ConverterComposition = com.google.common.base.Converter$ConverterComposition of com.google.common.base.Converter
private final FunctionBasedConverter = com.google.common.base.Converter$FunctionBasedConverter of com.google.common.base.Converter
private final IdentityConverter = com.google.common.base.Converter$IdentityConverter of com.google.common.base.Converter
private final ReverseConverter = com.google.common.base.Converter$ReverseConverter of com.google.common.base.Converter
RuntimeInvisibleAnnotations:
com.google.common.annotations.GwtCompatible()