abstract class com.sun.tools.javac.comp.Operators$OperatorHelper
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.tools.javac.comp.Operators$OperatorHelper
super_class: java.lang.Object
{
final com.sun.tools.javac.util.Name name;
descriptor: Lcom/sun/tools/javac/util/Name;
flags: (0x0010) ACC_FINAL
java.util.Optional<com.sun.tools.javac.code.Symbol$OperatorSymbol[]> alternatives;
descriptor: Ljava/util/Optional;
flags: (0x0000)
Signature: Ljava/util/Optional<[Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;>;
com.sun.tools.javac.util.List<java.util.function.Supplier<com.sun.tools.javac.code.Symbol$OperatorSymbol>> operatorSuppliers;
descriptor: Lcom/sun/tools/javac/util/List;
flags: (0x0000)
Signature: Lcom/sun/tools/javac/util/List<Ljava/util/function/Supplier<Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;>;>;
final com.sun.tools.javac.comp.Operators this$0;
descriptor: Lcom/sun/tools/javac/comp/Operators;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.comp.Operators, com.sun.tools.javac.tree.JCTree$Tag);
descriptor: (Lcom/sun/tools/javac/comp/Operators;Lcom/sun/tools/javac/tree/JCTree$Tag;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.Operators$OperatorHelper.this$0:Lcom/sun/tools/javac/comp/Operators;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
putfield com.sun.tools.javac.comp.Operators$OperatorHelper.alternatives:Ljava/util/Optional;
2: aload 0
invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.comp.Operators$OperatorHelper.operatorSuppliers:Lcom/sun/tools/javac/util/List;
3: aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javac.comp.Operators.operatorName:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Lcom/sun/tools/javac/util/Name;
putfield com.sun.tools.javac.comp.Operators$OperatorHelper.name:Lcom/sun/tools/javac/util/Name;
4: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/comp/Operators$OperatorHelper;
0 5 2 tag Lcom/sun/tools/javac/tree/JCTree$Tag;
MethodParameters:
Name Flags
this$0 final
tag
final com.sun.tools.javac.code.Symbol$OperatorSymbol doLookup(java.util.function.Predicate<com.sun.tools.javac.code.Symbol$OperatorSymbol>);
descriptor: (Ljava/util/function/Predicate;)Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Operators$OperatorHelper.alternatives:Ljava/util/Optional;
aload 0
invokedynamic get(Lcom/sun/tools/javac/comp/Operators$OperatorHelper;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/sun/tools/javac/comp/Operators$OperatorHelper.initOperators()[Lcom/sun/tools/javac/code/Symbol$OperatorSymbol; (7)
()[Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol$OperatorSymbol[]
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
1: aload 1
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
3: aload 0
getfield com.sun.tools.javac.comp.Operators$OperatorHelper.this$0:Lcom/sun/tools/javac/comp/Operators;
getfield com.sun.tools.javac.comp.Operators.noOpSymbol:Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol$OperatorSymbol
4: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/comp/Operators$OperatorHelper;
0 5 1 applicabilityTest Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;>;
Signature: (Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;>;)Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
MethodParameters:
Name Flags
applicabilityTest
private com.sun.tools.javac.code.Symbol$OperatorSymbol[] initOperators();
descriptor: ()[Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.comp.Operators$OperatorHelper.operatorSuppliers:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/function/Supplier.get()Ljava/lang/Object; (9 itf)
(Ljava/util/function/Supplier;)Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: invokedynamic apply()Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
com/sun/tools/javac/comp/Operators$OperatorHelper.lambda$2(I)[Lcom/sun/tools/javac/code/Symbol$OperatorSymbol; (6)
(I)[Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol$OperatorSymbol[]
3: astore 1
start local 1 4: aload 0
aload 1
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
putfield com.sun.tools.javac.comp.Operators$OperatorHelper.alternatives:Ljava/util/Optional;
5: aload 0
aconst_null
putfield com.sun.tools.javac.comp.Operators$OperatorHelper.operatorSuppliers:Lcom/sun/tools/javac/util/List;
6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/comp/Operators$OperatorHelper;
4 7 1 operators [Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
private static com.sun.tools.javac.code.Symbol$OperatorSymbol[] lambda$2(int);
descriptor: (I)[Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: iload 0
anewarray com.sun.tools.javac.code.Symbol$OperatorSymbol
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Operators.java"
NestHost: com.sun.tools.javac.comp.Operators
InnerClasses:
public OperatorSymbol = com.sun.tools.javac.code.Symbol$OperatorSymbol of com.sun.tools.javac.code.Symbol
abstract OperatorHelper = com.sun.tools.javac.comp.Operators$OperatorHelper of com.sun.tools.javac.comp.Operators
public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles