class com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType extends com.sun.tools.javac.comp.ArgumentAttr$ArgumentType<com.sun.tools.javac.tree.JCTree$JCSwitchExpression>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType
super_class: com.sun.tools.javac.comp.ArgumentAttr$ArgumentType
{
java.util.Optional<com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCYield>> yieldExpressions;
descriptor: Ljava/util/Optional;
flags: (0x0000)
Signature: Ljava/util/Optional<Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCYield;>;>;
final com.sun.tools.javac.comp.ArgumentAttr this$0;
descriptor: Lcom/sun/tools/javac/comp/ArgumentAttr;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.tree.JCTree$JCSwitchExpression);
descriptor: (Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;)V
flags: (0x0000)
Code:
stack=7, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
invokespecial com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;Ljava/util/Map;)V
1: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/comp/ArgumentAttr$SwitchExpressionType;
0 2 2 tree Lcom/sun/tools/javac/tree/JCTree$JCExpression;
0 2 3 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
0 2 4 speculativeCond Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;
Signature: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;)V
MethodParameters:
Name Flags
this$0 final
tree
env
speculativeCond
void <init>(com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.tree.JCTree$JCSwitchExpression, java.util.Map<com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;Ljava/util/Map;)V
flags: (0x0000)
Code:
stack=6, locals=6, args_size=6
start local 0 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
1: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
invokespecial com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Ljava/util/Map;)V
2: aload 0
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
putfield com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.yieldExpressions:Ljava/util/Optional;
3: return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/comp/ArgumentAttr$SwitchExpressionType;
0 4 2 tree Lcom/sun/tools/javac/tree/JCTree$JCExpression;
0 4 3 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
0 4 4 speculativeCond Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;
0 4 5 speculativeTypes Ljava/util/Map<Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;Ljava/util/Map<Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Type;>;)V
MethodParameters:
Name Flags
this$0 final
tree
env
speculativeCond
speculativeTypes
com.sun.tools.javac.code.Type overloadCheck(com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext);
descriptor: (Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Lcom/sun/tools/javac/code/Type;
flags: (0x0000)
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
aload 1
getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
invokevirtual com.sun.tools.javac.comp.Attr.conditionalContext:(Lcom/sun/tools/javac/comp/Check$CheckContext;)Lcom/sun/tools/javac/comp/Check$CheckContext;
invokevirtual com.sun.tools.javac.comp.Attr$ResultInfo.dup:(Lcom/sun/tools/javac/comp/Check$CheckContext;)Lcom/sun/tools/javac/comp/Attr$ResultInfo;
astore 3
start local 3 1: aload 1
getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.TypeTag.VOID:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 4
2: aload 1
getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.tree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
getfield com.sun.tools.javac.comp.Attr.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
getstatic com.sun.tools.javac.resources.CompilerProperties$Fragments.SwitchExpressionTargetCantBeVoid:Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
invokeinterface com.sun.tools.javac.comp.Check$CheckContext.report:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic;)V
3: aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
getfield com.sun.tools.javac.comp.Attr.types:Lcom/sun/tools/javac/code/Types;
aload 1
getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.createErrorType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
areturn
4: StackMap locals: com.sun.tools.javac.comp.Attr$ResultInfo
StackMap stack:
aload 0
invokevirtual com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.yieldExpressions:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.comp.Attr$ResultInfo top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCYield
astore 4
start local 4 6: aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
aload 4
getfield com.sun.tools.javac.tree.JCTree$JCYield.value:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 4
getfield com.sun.tools.javac.tree.JCTree$JCYield.value:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
aload 1
invokevirtual com.sun.tools.javac.comp.ArgumentAttr.checkSpeculative:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
pop
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 3
getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/comp/ArgumentAttr$SwitchExpressionType;
0 9 1 resultInfo Lcom/sun/tools/javac/comp/Attr$ResultInfo;
0 9 2 deferredAttrContext Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
1 9 3 localInfo Lcom/sun/tools/javac/comp/Attr$ResultInfo;
6 7 4 brk Lcom/sun/tools/javac/tree/JCTree$JCYield;
MethodParameters:
Name Flags
resultInfo
deferredAttrContext
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCYield> yieldExpressions();
descriptor: ()Lcom/sun/tools/javac/util/List;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.yieldExpressions:Ljava/util/Optional;
aload 0
invokedynamic get(Lcom/sun/tools/javac/comp/ArgumentAttr$SwitchExpressionType;)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/ArgumentAttr$SwitchExpressionType.lambda$0()Lcom/sun/tools/javac/util/List; (7)
()Lcom/sun/tools/javac/util/List;
invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.List
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/ArgumentAttr$SwitchExpressionType;
Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCYield;>;
com.sun.tools.javac.comp.ArgumentAttr$ArgumentType<com.sun.tools.javac.tree.JCTree$JCSwitchExpression> dup(com.sun.tools.javac.tree.JCTree$JCSwitchExpression, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType;
flags: (0x0000)
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType
dup
aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
aload 1
aload 2
aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
checkcast com.sun.tools.javac.tree.JCTree$JCSwitchExpression
aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.speculativeTypes:Ljava/util/Map;
invokespecial com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;Ljava/util/Map;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/ArgumentAttr$SwitchExpressionType;
0 1 1 tree Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;
0 1 2 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
Signature: (Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;>;
MethodParameters:
Name Flags
tree
env
com.sun.tools.javac.comp.ArgumentAttr$ArgumentType dup(com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.comp.Env);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast com.sun.tools.javac.tree.JCTree$JCSwitchExpression
aload 2
invokevirtual com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.dup:(Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType;
areturn
LocalVariableTable:
Start End Slot Name Signature
private com.sun.tools.javac.util.List lambda$0();
descriptor: ()Lcom/sun/tools/javac/util/List;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 2
start local 2 1: new com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType$1
dup
aload 0
aload 2
invokespecial com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType$1.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr$SwitchExpressionType;Lcom/sun/tools/javac/util/ListBuffer;)V
2: aload 0
getfield com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
checkcast com.sun.tools.javac.tree.JCTree$JCSwitchExpression
getfield com.sun.tools.javac.tree.JCTree$JCSwitchExpression.cases:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType$1.scan:(Lcom/sun/tools/javac/util/List;)V
3: aload 2
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
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.ArgumentAttr$SwitchExpressionType.yieldExpressions:Ljava/util/Optional;
5: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/comp/ArgumentAttr$SwitchExpressionType;
4 6 1 res Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCYield;>;
1 6 2 buf Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/tree/JCTree$JCYield;>;
}
Signature: Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<Lcom/sun/tools/javac/tree/JCTree$JCSwitchExpression;>;
SourceFile: "ArgumentAttr.java"
NestHost: com.sun.tools.javac.comp.ArgumentAttr
InnerClasses:
abstract ArgumentType = com.sun.tools.javac.comp.ArgumentAttr$ArgumentType of com.sun.tools.javac.comp.ArgumentAttr
SwitchExpressionType = com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType of com.sun.tools.javac.comp.ArgumentAttr
com.sun.tools.javac.comp.ArgumentAttr$SwitchExpressionType$1
ResultInfo = com.sun.tools.javac.comp.Attr$ResultInfo of com.sun.tools.javac.comp.Attr
public abstract CheckContext = com.sun.tools.javac.comp.Check$CheckContext of com.sun.tools.javac.comp.Check
DeferredAttrContext = com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext of com.sun.tools.javac.comp.DeferredAttr
public Fragments = com.sun.tools.javac.resources.CompilerProperties$Fragments of com.sun.tools.javac.resources.CompilerProperties
public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
public JCSwitchExpression = com.sun.tools.javac.tree.JCTree$JCSwitchExpression of com.sun.tools.javac.tree.JCTree
public JCYield = com.sun.tools.javac.tree.JCTree$JCYield of com.sun.tools.javac.tree.JCTree
public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
public Factory = com.sun.tools.javac.util.JCDiagnostic$Factory of com.sun.tools.javac.util.JCDiagnostic
public final Fragment = com.sun.tools.javac.util.JCDiagnostic$Fragment of com.sun.tools.javac.util.JCDiagnostic
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles