class com.sun.tools.example.debug.expr.LValue$LValueInstanceMember extends com.sun.tools.example.debug.expr.LValue
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.example.debug.expr.LValue$LValueInstanceMember
super_class: com.sun.tools.example.debug.expr.LValue
{
final com.sun.jdi.ObjectReference obj;
descriptor: Lcom/sun/jdi/ObjectReference;
flags: (0x0010) ACC_FINAL
final com.sun.jdi.ThreadReference thread;
descriptor: Lcom/sun/jdi/ThreadReference;
flags: (0x0010) ACC_FINAL
final com.sun.jdi.Field matchingField;
descriptor: Lcom/sun/jdi/Field;
flags: (0x0010) ACC_FINAL
final java.util.List<com.sun.jdi.Method> overloads;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Lcom/sun/jdi/Method;>;
com.sun.jdi.Method matchingMethod;
descriptor: Lcom/sun/jdi/Method;
flags: (0x0000)
java.util.List<com.sun.jdi.Value> methodArguments;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Lcom/sun/jdi/Value;>;
void <init>(com.sun.jdi.Value, java.lang.String, com.sun.jdi.ThreadReference);
descriptor: (Lcom/sun/jdi/Value;Ljava/lang/String;Lcom/sun/jdi/ThreadReference;)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial com.sun.tools.example.debug.expr.LValue.<init>:()V
1: aload 0
aconst_null
putfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.matchingMethod:Lcom/sun/jdi/Method;
2: aload 0
aconst_null
putfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.methodArguments:Ljava/util/List;
3: aload 1
instanceof com.sun.jdi.ObjectReference
ifne 7
4: new com.sun.tools.example.debug.expr.ParseException
dup
5: new java.lang.StringBuilder
dup
ldc "Cannot access field of primitive type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial com.sun.tools.example.debug.expr.ParseException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: com.sun.tools.example.debug.expr.LValue$LValueInstanceMember com.sun.jdi.Value java.lang.String com.sun.jdi.ThreadReference
StackMap stack:
aload 0
aload 1
checkcast com.sun.jdi.ObjectReference
putfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.obj:Lcom/sun/jdi/ObjectReference;
8: aload 0
aload 3
putfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.thread:Lcom/sun/jdi/ThreadReference;
9: aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.obj:Lcom/sun/jdi/ObjectReference;
invokeinterface com.sun.jdi.ObjectReference.referenceType:()Lcom/sun/jdi/ReferenceType;
astore 4
start local 4 10: aload 0
aload 4
aload 2
11: iconst_1
12: invokestatic com.sun.tools.example.debug.expr.LValue.fieldByName:(Lcom/sun/jdi/ReferenceType;Ljava/lang/String;I)Lcom/sun/jdi/Field;
putfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.matchingField:Lcom/sun/jdi/Field;
13: aload 0
aload 4
aload 2
14: iconst_1
15: invokestatic com.sun.tools.example.debug.expr.LValue.methodsByName:(Lcom/sun/jdi/ReferenceType;Ljava/lang/String;I)Ljava/util/List;
putfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.overloads:Ljava/util/List;
16: aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.matchingField:Lcom/sun/jdi/Field;
ifnonnull 20
aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.overloads:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifne 20
17: new com.sun.tools.example.debug.expr.ParseException
dup
new java.lang.StringBuilder
dup
ldc "No instance field or method with the name "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokespecial com.sun.tools.example.debug.expr.ParseException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals: com.sun.jdi.ReferenceType
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/tools/example/debug/expr/LValue$LValueInstanceMember;
0 21 1 value Lcom/sun/jdi/Value;
0 21 2 memberName Ljava/lang/String;
0 21 3 thread Lcom/sun/jdi/ThreadReference;
10 21 4 refType Lcom/sun/jdi/ReferenceType;
Exceptions:
throws com.sun.tools.example.debug.expr.ParseException
MethodParameters:
Name Flags
value
memberName
thread
com.sun.jdi.Value getValue();
descriptor: ()Lcom/sun/jdi/Value;
flags: (0x0000)
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.jdiValue:Lcom/sun/jdi/Value;
ifnull 2
1: aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.jdiValue:Lcom/sun/jdi/Value;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.matchingMethod:Lcom/sun/jdi/Method;
ifnonnull 6
3: aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.matchingField:Lcom/sun/jdi/Field;
ifnonnull 5
4: new com.sun.tools.example.debug.expr.ParseException
dup
new java.lang.StringBuilder
dup
ldc "No such field in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.obj:Lcom/sun/jdi/ObjectReference;
invokeinterface com.sun.jdi.ObjectReference.referenceType:()Lcom/sun/jdi/ReferenceType;
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.sun.tools.example.debug.expr.ParseException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.obj:Lcom/sun/jdi/ObjectReference;
aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.matchingField:Lcom/sun/jdi/Field;
invokeinterface com.sun.jdi.ObjectReference.getValue:(Lcom/sun/jdi/Field;)Lcom/sun/jdi/Value;
dup_x1
putfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.jdiValue:Lcom/sun/jdi/Value;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.obj:Lcom/sun/jdi/ObjectReference;
aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.thread:Lcom/sun/jdi/ThreadReference;
aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.matchingMethod:Lcom/sun/jdi/Method;
aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.methodArguments:Ljava/util/List;
iconst_0
invokeinterface com.sun.jdi.ObjectReference.invokeMethod:(Lcom/sun/jdi/ThreadReference;Lcom/sun/jdi/Method;Ljava/util/List;I)Lcom/sun/jdi/Value;
dup_x1
putfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.jdiValue:Lcom/sun/jdi/Value;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/example/debug/expr/LValue$LValueInstanceMember;
Exceptions:
throws com.sun.jdi.InvocationException, com.sun.jdi.InvalidTypeException, com.sun.jdi.ClassNotLoadedException, com.sun.jdi.IncompatibleThreadStateException, com.sun.tools.example.debug.expr.ParseException
void setValue0(com.sun.jdi.Value);
descriptor: (Lcom/sun/jdi/Value;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.matchingMethod:Lcom/sun/jdi/Method;
ifnull 2
1: new com.sun.tools.example.debug.expr.ParseException
dup
ldc "Cannot assign to a method invocation"
invokespecial com.sun.tools.example.debug.expr.ParseException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.obj:Lcom/sun/jdi/ObjectReference;
aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.matchingField:Lcom/sun/jdi/Field;
aload 1
invokeinterface com.sun.jdi.ObjectReference.setValue:(Lcom/sun/jdi/Field;Lcom/sun/jdi/Value;)V
3: aload 0
aload 1
putfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.jdiValue:Lcom/sun/jdi/Value;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/example/debug/expr/LValue$LValueInstanceMember;
0 5 1 val Lcom/sun/jdi/Value;
Exceptions:
throws com.sun.tools.example.debug.expr.ParseException, com.sun.jdi.InvalidTypeException, com.sun.jdi.ClassNotLoadedException
MethodParameters:
Name Flags
val
void invokeWith(java.util.List<com.sun.jdi.Value>);
descriptor: (Ljava/util/List;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.matchingMethod:Lcom/sun/jdi/Method;
ifnull 2
1: new com.sun.tools.example.debug.expr.ParseException
dup
ldc "Invalid consecutive invocations"
invokespecial com.sun.tools.example.debug.expr.ParseException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.methodArguments:Ljava/util/List;
3: aload 0
aload 0
getfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.overloads:Ljava/util/List;
aload 1
invokestatic com.sun.tools.example.debug.expr.LValue.resolveOverload:(Ljava/util/List;Ljava/util/List;)Lcom/sun/jdi/Method;
putfield com.sun.tools.example.debug.expr.LValue$LValueInstanceMember.matchingMethod:Lcom/sun/jdi/Method;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/example/debug/expr/LValue$LValueInstanceMember;
0 5 1 arguments Ljava/util/List<Lcom/sun/jdi/Value;>;
Exceptions:
throws com.sun.tools.example.debug.expr.ParseException
Signature: (Ljava/util/List<Lcom/sun/jdi/Value;>;)V
MethodParameters:
Name Flags
arguments
}
SourceFile: "LValue.java"
NestHost: com.sun.tools.example.debug.expr.LValue
InnerClasses:
private LValueInstanceMember = com.sun.tools.example.debug.expr.LValue$LValueInstanceMember of com.sun.tools.example.debug.expr.LValue