abstract class com.sun.tools.jdi.InvokableTypeImpl extends com.sun.tools.jdi.ReferenceTypeImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.tools.jdi.InvokableTypeImpl
  super_class: com.sun.tools.jdi.ReferenceTypeImpl
{
  void <init>(com.sun.jdi.VirtualMachine, long);
    descriptor: (Lcom/sun/jdi/VirtualMachine;J)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.tools.jdi.InvokableTypeImpl this
        start local 1 // com.sun.jdi.VirtualMachine aVm
        start local 2 // long aRef
         0: .line 63
            aload 0 /* this */
            aload 1 /* aVm */
            lload 2 /* aRef */
            invokespecial com.sun.tools.jdi.ReferenceTypeImpl.<init>:(Lcom/sun/jdi/VirtualMachine;J)V
         1: .line 64
            return
        end local 2 // long aRef
        end local 1 // com.sun.jdi.VirtualMachine aVm
        end local 0 // com.sun.tools.jdi.InvokableTypeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/jdi/InvokableTypeImpl;
            0    2     1   aVm  Lcom/sun/jdi/VirtualMachine;
            0    2     2  aRef  J
    MethodParameters:
      Name  Flags
      aVm   
      aRef  

  public final com.sun.jdi.Value invokeMethod(com.sun.jdi.ThreadReference, com.sun.jdi.Method, java.util.List<? extends com.sun.jdi.Value>, int);
    descriptor: (Lcom/sun/jdi/ThreadReference;Lcom/sun/jdi/Method;Ljava/util/List;I)Lcom/sun/jdi/Value;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // com.sun.tools.jdi.InvokableTypeImpl this
        start local 1 // com.sun.jdi.ThreadReference threadIntf
        start local 2 // com.sun.jdi.Method methodIntf
        start local 3 // java.util.List origArguments
        start local 4 // int options
         0: .line 102
            aload 0 /* this */
            aload 1 /* threadIntf */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.validateMirror:(Lcom/sun/jdi/Mirror;)V
         1: .line 103
            aload 0 /* this */
            aload 2 /* methodIntf */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.validateMirror:(Lcom/sun/jdi/Mirror;)V
         2: .line 104
            aload 0 /* this */
            aload 3 /* origArguments */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.validateMirrorsOrNulls:(Ljava/util/Collection;)V
         3: .line 105
            aload 2 /* methodIntf */
            checkcast com.sun.tools.jdi.MethodImpl
            astore 5 /* method */
        start local 5 // com.sun.tools.jdi.MethodImpl method
         4: .line 106
            aload 1 /* threadIntf */
            checkcast com.sun.tools.jdi.ThreadReferenceImpl
            astore 6 /* thread */
        start local 6 // com.sun.tools.jdi.ThreadReferenceImpl thread
         5: .line 107
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.validateMethodInvocation:(Lcom/sun/jdi/Method;)V
         6: .line 108
            aload 5 /* method */
            aload 3 /* origArguments */
            invokevirtual com.sun.tools.jdi.MethodImpl.validateAndPrepareArgumentsForInvoke:(Ljava/util/List;)Ljava/util/List;
            astore 7 /* arguments */
        start local 7 // java.util.List arguments
         7: .line 109
            aload 7 /* arguments */
            iconst_0
            anewarray com.sun.tools.jdi.ValueImpl
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.tools.jdi.ValueImpl[]
            astore 8 /* args */
        start local 8 // com.sun.tools.jdi.ValueImpl[] args
         8: .line 112
            aload 0 /* this */
            aload 6 /* thread */
            aload 5 /* method */
            aload 8 /* args */
            iload 4 /* options */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.sendInvokeCommand:(Lcom/sun/tools/jdi/ThreadReferenceImpl;Lcom/sun/tools/jdi/MethodImpl;[Lcom/sun/tools/jdi/ValueImpl;I)Lcom/sun/tools/jdi/PacketStream;
            astore 10 /* stream */
        start local 10 // com.sun.tools.jdi.PacketStream stream
         9: .line 113
            aload 0 /* this */
            aload 10 /* stream */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.waitForReply:(Lcom/sun/tools/jdi/PacketStream;)Lcom/sun/tools/jdi/InvokableTypeImpl$InvocationResult;
            astore 9 /* ret */
        end local 10 // com.sun.tools.jdi.PacketStream stream
        start local 9 // com.sun.tools.jdi.InvokableTypeImpl$InvocationResult ret
        10: .line 114
            goto 15
        end local 9 // com.sun.tools.jdi.InvokableTypeImpl$InvocationResult ret
      StackMap locals: com.sun.tools.jdi.InvokableTypeImpl com.sun.jdi.ThreadReference com.sun.jdi.Method java.util.List int com.sun.tools.jdi.MethodImpl com.sun.tools.jdi.ThreadReferenceImpl java.util.List com.sun.tools.jdi.ValueImpl[]
      StackMap stack: com.sun.tools.jdi.JDWPException
        11: astore 10 /* exc */
        start local 10 // com.sun.tools.jdi.JDWPException exc
        12: .line 115
            aload 10 /* exc */
            invokevirtual com.sun.tools.jdi.JDWPException.errorCode:()S
            bipush 10
            if_icmpne 14
        13: .line 116
            new com.sun.jdi.IncompatibleThreadStateException
            dup
            invokespecial com.sun.jdi.IncompatibleThreadStateException.<init>:()V
            athrow
        14: .line 118
      StackMap locals: com.sun.tools.jdi.InvokableTypeImpl com.sun.jdi.ThreadReference com.sun.jdi.Method java.util.List int com.sun.tools.jdi.MethodImpl com.sun.tools.jdi.ThreadReferenceImpl java.util.List com.sun.tools.jdi.ValueImpl[] top com.sun.tools.jdi.JDWPException
      StackMap stack:
            aload 10 /* exc */
            invokevirtual com.sun.tools.jdi.JDWPException.toJDIException:()Ljava/lang/RuntimeException;
            athrow
        end local 10 // com.sun.tools.jdi.JDWPException exc
        start local 9 // com.sun.tools.jdi.InvokableTypeImpl$InvocationResult ret
        15: .line 125
      StackMap locals: com.sun.tools.jdi.InvokableTypeImpl com.sun.jdi.ThreadReference com.sun.jdi.Method java.util.List int com.sun.tools.jdi.MethodImpl com.sun.tools.jdi.ThreadReferenceImpl java.util.List com.sun.tools.jdi.ValueImpl[] com.sun.tools.jdi.InvokableTypeImpl$InvocationResult
      StackMap stack:
            iload 4 /* options */
            iconst_1
            iand
            ifne 17
        16: .line 126
            aload 0 /* this */
            getfield com.sun.tools.jdi.InvokableTypeImpl.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
            invokevirtual com.sun.tools.jdi.VirtualMachineImpl.notifySuspend:()V
        17: .line 128
      StackMap locals:
      StackMap stack:
            aload 9 /* ret */
            invokeinterface com.sun.tools.jdi.InvokableTypeImpl$InvocationResult.getException:()Lcom/sun/tools/jdi/ObjectReferenceImpl;
            ifnull 19
        18: .line 129
            new com.sun.jdi.InvocationException
            dup
            aload 9 /* ret */
            invokeinterface com.sun.tools.jdi.InvokableTypeImpl$InvocationResult.getException:()Lcom/sun/tools/jdi/ObjectReferenceImpl;
            invokespecial com.sun.jdi.InvocationException.<init>:(Lcom/sun/jdi/ObjectReference;)V
            athrow
        19: .line 131
      StackMap locals:
      StackMap stack:
            aload 9 /* ret */
            invokeinterface com.sun.tools.jdi.InvokableTypeImpl$InvocationResult.getResult:()Lcom/sun/tools/jdi/ValueImpl;
            areturn
        end local 9 // com.sun.tools.jdi.InvokableTypeImpl$InvocationResult ret
        end local 8 // com.sun.tools.jdi.ValueImpl[] args
        end local 7 // java.util.List arguments
        end local 6 // com.sun.tools.jdi.ThreadReferenceImpl thread
        end local 5 // com.sun.tools.jdi.MethodImpl method
        end local 4 // int options
        end local 3 // java.util.List origArguments
        end local 2 // com.sun.jdi.Method methodIntf
        end local 1 // com.sun.jdi.ThreadReference threadIntf
        end local 0 // com.sun.tools.jdi.InvokableTypeImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lcom/sun/tools/jdi/InvokableTypeImpl;
            0   20     1     threadIntf  Lcom/sun/jdi/ThreadReference;
            0   20     2     methodIntf  Lcom/sun/jdi/Method;
            0   20     3  origArguments  Ljava/util/List<+Lcom/sun/jdi/Value;>;
            0   20     4        options  I
            4   20     5         method  Lcom/sun/tools/jdi/MethodImpl;
            5   20     6         thread  Lcom/sun/tools/jdi/ThreadReferenceImpl;
            7   20     7      arguments  Ljava/util/List<+Lcom/sun/jdi/Value;>;
            8   20     8           args  [Lcom/sun/tools/jdi/ValueImpl;
           10   11     9            ret  Lcom/sun/tools/jdi/InvokableTypeImpl$InvocationResult;
           15   20     9            ret  Lcom/sun/tools/jdi/InvokableTypeImpl$InvocationResult;
            9   10    10         stream  Lcom/sun/tools/jdi/PacketStream;
           12   15    10            exc  Lcom/sun/tools/jdi/JDWPException;
      Exception table:
        from    to  target  type
           8    10      11  Class com.sun.tools.jdi.JDWPException
    Exceptions:
      throws com.sun.jdi.InvalidTypeException, com.sun.jdi.ClassNotLoadedException, com.sun.jdi.IncompatibleThreadStateException, com.sun.jdi.InvocationException
    Signature: (Lcom/sun/jdi/ThreadReference;Lcom/sun/jdi/Method;Ljava/util/List<+Lcom/sun/jdi/Value;>;I)Lcom/sun/jdi/Value;
    MethodParameters:
               Name  Flags
      threadIntf     
      methodIntf     
      origArguments  
      options        

  boolean isAssignableTo(com.sun.jdi.ReferenceType);
    descriptor: (Lcom/sun/jdi/ReferenceType;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.sun.tools.jdi.InvokableTypeImpl this
        start local 1 // com.sun.jdi.ReferenceType type
         0: .line 137
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.superclass:()Lcom/sun/jdi/ClassType;
            checkcast com.sun.tools.jdi.ClassTypeImpl
            astore 2 /* superclazz */
        start local 2 // com.sun.tools.jdi.ClassTypeImpl superclazz
         1: .line 138
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 139
            iconst_1
            ireturn
         3: .line 140
      StackMap locals: com.sun.tools.jdi.ClassTypeImpl
      StackMap stack:
            aload 2 /* superclazz */
            ifnull 5
            aload 2 /* superclazz */
            aload 1 /* type */
            invokevirtual com.sun.tools.jdi.ClassTypeImpl.isAssignableTo:(Lcom/sun/jdi/ReferenceType;)Z
            ifeq 5
         4: .line 141
            iconst_1
            ireturn
         5: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.interfaces:()Ljava/util/List;
            astore 3 /* interfaces */
        start local 3 // java.util.List interfaces
         6: .line 144
            aload 3 /* interfaces */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* iter */
        start local 4 // java.util.Iterator iter
         7: .line 145
            goto 11
         8: .line 146
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 4 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.jdi.InterfaceTypeImpl
            astore 5 /* interfaze */
        start local 5 // com.sun.tools.jdi.InterfaceTypeImpl interfaze
         9: .line 147
            aload 5 /* interfaze */
            aload 1 /* type */
            invokevirtual com.sun.tools.jdi.InterfaceTypeImpl.isAssignableTo:(Lcom/sun/jdi/ReferenceType;)Z
            ifeq 11
        10: .line 148
            iconst_1
            ireturn
        end local 5 // com.sun.tools.jdi.InterfaceTypeImpl interfaze
        11: .line 145
      StackMap locals:
      StackMap stack:
            aload 4 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        12: .line 151
            iconst_0
            ireturn
        end local 4 // java.util.Iterator iter
        end local 3 // java.util.List interfaces
        end local 2 // com.sun.tools.jdi.ClassTypeImpl superclazz
        end local 1 // com.sun.jdi.ReferenceType type
        end local 0 // com.sun.tools.jdi.InvokableTypeImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lcom/sun/tools/jdi/InvokableTypeImpl;
            0   13     1        type  Lcom/sun/jdi/ReferenceType;
            1   13     2  superclazz  Lcom/sun/tools/jdi/ClassTypeImpl;
            6   13     3  interfaces  Ljava/util/List<Lcom/sun/jdi/InterfaceType;>;
            7   13     4        iter  Ljava/util/Iterator<Lcom/sun/jdi/InterfaceType;>;
            9   11     5   interfaze  Lcom/sun/tools/jdi/InterfaceTypeImpl;
    MethodParameters:
      Name  Flags
      type  

  final void addVisibleMethods(java.util.Map<java.lang.String, com.sun.jdi.Method>, java.util.Set<com.sun.jdi.InterfaceType>);
    descriptor: (Ljava/util/Map;Ljava/util/Set;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.sun.tools.jdi.InvokableTypeImpl this
        start local 1 // java.util.Map methodMap
        start local 2 // java.util.Set seenInterfaces
         0: .line 162
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.interfaces:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         1: .line 163
            goto 6
         2: .line 164
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.jdi.InterfaceTypeImpl
            astore 4 /* interfaze */
        start local 4 // com.sun.tools.jdi.InterfaceTypeImpl interfaze
         3: .line 165
            aload 2 /* seenInterfaces */
            aload 4 /* interfaze */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 6
         4: .line 166
            aload 4 /* interfaze */
            aload 1 /* methodMap */
            aload 2 /* seenInterfaces */
            invokevirtual com.sun.tools.jdi.InterfaceTypeImpl.addVisibleMethods:(Ljava/util/Map;Ljava/util/Set;)V
         5: .line 167
            aload 2 /* seenInterfaces */
            aload 4 /* interfaze */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // com.sun.tools.jdi.InterfaceTypeImpl interfaze
         6: .line 163
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 170
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.superclass:()Lcom/sun/jdi/ClassType;
            checkcast com.sun.tools.jdi.ClassTypeImpl
            astore 4 /* clazz */
        start local 4 // com.sun.tools.jdi.ClassTypeImpl clazz
         8: .line 171
            aload 4 /* clazz */
            ifnull 10
         9: .line 172
            aload 4 /* clazz */
            aload 1 /* methodMap */
            aload 2 /* seenInterfaces */
            invokevirtual com.sun.tools.jdi.ClassTypeImpl.addVisibleMethods:(Ljava/util/Map;Ljava/util/Set;)V
        10: .line 174
      StackMap locals: com.sun.tools.jdi.ClassTypeImpl
      StackMap stack:
            aload 0 /* this */
            aload 1 /* methodMap */
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.methods:()Ljava/util/List;
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.addToMethodMap:(Ljava/util/Map;Ljava/util/List;)V
        11: .line 175
            return
        end local 4 // com.sun.tools.jdi.ClassTypeImpl clazz
        end local 3 // java.util.Iterator iter
        end local 2 // java.util.Set seenInterfaces
        end local 1 // java.util.Map methodMap
        end local 0 // com.sun.tools.jdi.InvokableTypeImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lcom/sun/tools/jdi/InvokableTypeImpl;
            0   12     1       methodMap  Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/Method;>;
            0   12     2  seenInterfaces  Ljava/util/Set<Lcom/sun/jdi/InterfaceType;>;
            1   12     3            iter  Ljava/util/Iterator<Lcom/sun/jdi/InterfaceType;>;
            3    6     4       interfaze  Lcom/sun/tools/jdi/InterfaceTypeImpl;
            8   12     4           clazz  Lcom/sun/tools/jdi/ClassTypeImpl;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/Method;>;Ljava/util/Set<Lcom/sun/jdi/InterfaceType;>;)V
    MethodParameters:
                Name  Flags
      methodMap       
      seenInterfaces  

  final void addInterfaces(java.util.List<com.sun.jdi.InterfaceType>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.tools.jdi.InvokableTypeImpl this
        start local 1 // java.util.List list
         0: .line 178
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.interfaces:()Ljava/util/List;
            astore 2 /* immediate */
        start local 2 // java.util.List immediate
         1: .line 179
            aload 1 /* list */
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.interfaces:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 180
            aload 2 /* immediate */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         3: .line 181
            goto 6
         4: .line 182
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.jdi.InterfaceTypeImpl
            astore 4 /* interfaze */
        start local 4 // com.sun.tools.jdi.InterfaceTypeImpl interfaze
         5: .line 183
            aload 4 /* interfaze */
            aload 1 /* list */
            invokevirtual com.sun.tools.jdi.InterfaceTypeImpl.addInterfaces:(Ljava/util/List;)V
        end local 4 // com.sun.tools.jdi.InterfaceTypeImpl interfaze
         6: .line 181
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 185
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.superclass:()Lcom/sun/jdi/ClassType;
            checkcast com.sun.tools.jdi.ClassTypeImpl
            astore 4 /* superclass */
        start local 4 // com.sun.tools.jdi.ClassTypeImpl superclass
         8: .line 186
            aload 4 /* superclass */
            ifnull 10
         9: .line 187
            aload 4 /* superclass */
            aload 1 /* list */
            invokevirtual com.sun.tools.jdi.ClassTypeImpl.addInterfaces:(Ljava/util/List;)V
        10: .line 189
      StackMap locals: com.sun.tools.jdi.ClassTypeImpl
      StackMap stack:
            return
        end local 4 // com.sun.tools.jdi.ClassTypeImpl superclass
        end local 3 // java.util.Iterator iter
        end local 2 // java.util.List immediate
        end local 1 // java.util.List list
        end local 0 // com.sun.tools.jdi.InvokableTypeImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/sun/tools/jdi/InvokableTypeImpl;
            0   11     1        list  Ljava/util/List<Lcom/sun/jdi/InterfaceType;>;
            1   11     2   immediate  Ljava/util/List<Lcom/sun/jdi/InterfaceType;>;
            3   11     3        iter  Ljava/util/Iterator<Lcom/sun/jdi/InterfaceType;>;
            5    6     4   interfaze  Lcom/sun/tools/jdi/InterfaceTypeImpl;
            8   11     4  superclass  Lcom/sun/tools/jdi/ClassTypeImpl;
    Signature: (Ljava/util/List<Lcom/sun/jdi/InterfaceType;>;)V
    MethodParameters:
      Name  Flags
      list  

  final java.util.List<com.sun.jdi.InterfaceType> getAllInterfaces();
    descriptor: ()Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.jdi.InvokableTypeImpl this
         0: .line 196
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* all */
        start local 1 // java.util.List all
         1: .line 197
            aload 0 /* this */
            aload 1 /* all */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.addInterfaces:(Ljava/util/List;)V
         2: .line 198
            aload 1 /* all */
            areturn
        end local 1 // java.util.List all
        end local 0 // com.sun.tools.jdi.InvokableTypeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/jdi/InvokableTypeImpl;
            1    3     1   all  Ljava/util/List<Lcom/sun/jdi/InterfaceType;>;
    Signature: ()Ljava/util/List<Lcom/sun/jdi/InterfaceType;>;

  public final java.util.List<com.sun.jdi.Method> allMethods();
    descriptor: ()Ljava/util/List;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.sun.tools.jdi.InvokableTypeImpl this
         0: .line 207
            new java.util.ArrayList
            dup
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.methods:()Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* list */
        start local 1 // java.util.ArrayList list
         1: .line 208
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.superclass:()Lcom/sun/jdi/ClassType;
            astore 2 /* clazz */
        start local 2 // com.sun.jdi.ClassType clazz
         2: .line 209
            goto 5
         3: .line 210
      StackMap locals: java.util.ArrayList com.sun.jdi.ClassType
      StackMap stack:
            aload 1 /* list */
            aload 2 /* clazz */
            invokeinterface com.sun.jdi.ClassType.methods:()Ljava/util/List;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         4: .line 211
            aload 2 /* clazz */
            invokeinterface com.sun.jdi.ClassType.superclass:()Lcom/sun/jdi/ClassType;
            astore 2 /* clazz */
         5: .line 209
      StackMap locals:
      StackMap stack:
            aload 2 /* clazz */
            ifnonnull 3
         6: .line 217
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.getAllInterfaces:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: com.sun.tools.jdi.InvokableTypeImpl java.util.ArrayList com.sun.jdi.ClassType top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.jdi.InterfaceType
            astore 3 /* interfaze */
        start local 3 // com.sun.jdi.InterfaceType interfaze
         8: .line 218
            aload 1 /* list */
            aload 3 /* interfaze */
            invokeinterface com.sun.jdi.InterfaceType.methods:()Ljava/util/List;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
        end local 3 // com.sun.jdi.InterfaceType interfaze
         9: .line 217
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 220
            aload 1 /* list */
            areturn
        end local 2 // com.sun.jdi.ClassType clazz
        end local 1 // java.util.ArrayList list
        end local 0 // com.sun.tools.jdi.InvokableTypeImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lcom/sun/tools/jdi/InvokableTypeImpl;
            1   11     1       list  Ljava/util/ArrayList<Lcom/sun/jdi/Method;>;
            2   11     2      clazz  Lcom/sun/jdi/ClassType;
            8    9     3  interfaze  Lcom/sun/jdi/InterfaceType;
    Signature: ()Ljava/util/List<Lcom/sun/jdi/Method;>;

  final java.util.List<com.sun.jdi.ReferenceType> inheritedTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.sun.tools.jdi.InvokableTypeImpl this
         0: .line 225
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* inherited */
        start local 1 // java.util.List inherited
         1: .line 226
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.superclass:()Lcom/sun/jdi/ClassType;
            ifnull 3
         2: .line 227
            aload 1 /* inherited */
            iconst_0
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.superclass:()Lcom/sun/jdi/ClassType;
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
         3: .line 229
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.interfaces:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: com.sun.tools.jdi.InvokableTypeImpl java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.jdi.ReferenceType
            astore 2 /* rt */
        start local 2 // com.sun.jdi.ReferenceType rt
         5: .line 230
            aload 1 /* inherited */
            aload 2 /* rt */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // com.sun.jdi.ReferenceType rt
         6: .line 229
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 232
            aload 1 /* inherited */
            areturn
        end local 1 // java.util.List inherited
        end local 0 // com.sun.tools.jdi.InvokableTypeImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/sun/tools/jdi/InvokableTypeImpl;
            1    8     1  inherited  Ljava/util/List<Lcom/sun/jdi/ReferenceType;>;
            5    6     2         rt  Lcom/sun/jdi/ReferenceType;
    Signature: ()Ljava/util/List<Lcom/sun/jdi/ReferenceType;>;

  private com.sun.tools.jdi.PacketStream sendInvokeCommand(com.sun.tools.jdi.ThreadReferenceImpl, com.sun.tools.jdi.MethodImpl, com.sun.tools.jdi.ValueImpl[], int);
    descriptor: (Lcom/sun/tools/jdi/ThreadReferenceImpl;Lcom/sun/tools/jdi/MethodImpl;[Lcom/sun/tools/jdi/ValueImpl;I)Lcom/sun/tools/jdi/PacketStream;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.sun.tools.jdi.InvokableTypeImpl this
        start local 1 // com.sun.tools.jdi.ThreadReferenceImpl thread
        start local 2 // com.sun.tools.jdi.MethodImpl method
        start local 3 // com.sun.tools.jdi.ValueImpl[] args
        start local 4 // int options
         0: .line 240
            aload 0 /* this */
            aload 1 /* thread */
            aload 2 /* method */
            aload 3 /* args */
            iload 4 /* options */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.getInvokeMethodSender:(Lcom/sun/tools/jdi/ThreadReferenceImpl;Lcom/sun/tools/jdi/MethodImpl;[Lcom/sun/tools/jdi/ValueImpl;I)Lcom/sun/tools/jdi/CommandSender;
            astore 5 /* sender */
        start local 5 // com.sun.tools.jdi.CommandSender sender
         1: .line 242
            iload 4 /* options */
            iconst_1
            iand
            ifeq 4
         2: .line 243
            aload 1 /* thread */
            aload 5 /* sender */
            invokevirtual com.sun.tools.jdi.ThreadReferenceImpl.sendResumingCommand:(Lcom/sun/tools/jdi/CommandSender;)Lcom/sun/tools/jdi/PacketStream;
            astore 6 /* stream */
        start local 6 // com.sun.tools.jdi.PacketStream stream
         3: .line 244
            goto 5
        end local 6 // com.sun.tools.jdi.PacketStream stream
         4: .line 245
      StackMap locals: com.sun.tools.jdi.CommandSender
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.jdi.InvokableTypeImpl.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
            aload 5 /* sender */
            invokevirtual com.sun.tools.jdi.VirtualMachineImpl.sendResumingCommand:(Lcom/sun/tools/jdi/CommandSender;)Lcom/sun/tools/jdi/PacketStream;
            astore 6 /* stream */
        start local 6 // com.sun.tools.jdi.PacketStream stream
         5: .line 247
      StackMap locals: com.sun.tools.jdi.PacketStream
      StackMap stack:
            aload 6 /* stream */
            areturn
        end local 6 // com.sun.tools.jdi.PacketStream stream
        end local 5 // com.sun.tools.jdi.CommandSender sender
        end local 4 // int options
        end local 3 // com.sun.tools.jdi.ValueImpl[] args
        end local 2 // com.sun.tools.jdi.MethodImpl method
        end local 1 // com.sun.tools.jdi.ThreadReferenceImpl thread
        end local 0 // com.sun.tools.jdi.InvokableTypeImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lcom/sun/tools/jdi/InvokableTypeImpl;
            0    6     1   thread  Lcom/sun/tools/jdi/ThreadReferenceImpl;
            0    6     2   method  Lcom/sun/tools/jdi/MethodImpl;
            0    6     3     args  [Lcom/sun/tools/jdi/ValueImpl;
            0    6     4  options  I
            1    6     5   sender  Lcom/sun/tools/jdi/CommandSender;
            3    4     6   stream  Lcom/sun/tools/jdi/PacketStream;
            5    6     6   stream  Lcom/sun/tools/jdi/PacketStream;
    MethodParameters:
         Name  Flags
      thread   final
      method   final
      args     final
      options  final

  private void validateMethodInvocation(com.sun.jdi.Method);
    descriptor: (Lcom/sun/jdi/Method;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.jdi.InvokableTypeImpl this
        start local 1 // com.sun.jdi.Method method
         0: .line 253
            aload 0 /* this */
            aload 1 /* method */
            invokevirtual com.sun.tools.jdi.InvokableTypeImpl.canInvoke:(Lcom/sun/jdi/Method;)Z
            ifne 2
         1: .line 254
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid method"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 259
      StackMap locals:
      StackMap stack:
            aload 1 /* method */
            invokeinterface com.sun.jdi.Method.isStatic:()Z
            ifne 4
         3: .line 260
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot invoke instance method on a class/interface type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 261
      StackMap locals:
      StackMap stack:
            aload 1 /* method */
            invokeinterface com.sun.jdi.Method.isStaticInitializer:()Z
            ifeq 6
         5: .line 262
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot invoke static initializer"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 264
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.jdi.Method method
        end local 0 // com.sun.tools.jdi.InvokableTypeImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/sun/tools/jdi/InvokableTypeImpl;
            0    7     1  method  Lcom/sun/jdi/Method;
    Exceptions:
      throws com.sun.jdi.InvalidTypeException, com.sun.jdi.InvocationException
    MethodParameters:
        Name  Flags
      method  

  abstract com.sun.tools.jdi.CommandSender getInvokeMethodSender(com.sun.tools.jdi.ThreadReferenceImpl, com.sun.tools.jdi.MethodImpl, com.sun.tools.jdi.ValueImpl[], int);
    descriptor: (Lcom/sun/tools/jdi/ThreadReferenceImpl;Lcom/sun/tools/jdi/MethodImpl;[Lcom/sun/tools/jdi/ValueImpl;I)Lcom/sun/tools/jdi/CommandSender;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      thread   
      method   
      args     
      options  

  abstract com.sun.tools.jdi.InvokableTypeImpl$InvocationResult waitForReply(com.sun.tools.jdi.PacketStream);
    descriptor: (Lcom/sun/tools/jdi/PacketStream;)Lcom/sun/tools/jdi/InvokableTypeImpl$InvocationResult;
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws com.sun.tools.jdi.JDWPException
    MethodParameters:
        Name  Flags
      stream  

  abstract com.sun.jdi.ClassType superclass();
    descriptor: ()Lcom/sun/jdi/ClassType;
    flags: (0x0400) ACC_ABSTRACT

  abstract java.util.List<com.sun.jdi.InterfaceType> interfaces();
    descriptor: ()Ljava/util/List;
    flags: (0x0400) ACC_ABSTRACT
    Signature: ()Ljava/util/List<Lcom/sun/jdi/InterfaceType;>;

  abstract boolean canInvoke(com.sun.jdi.Method);
    descriptor: (Lcom/sun/jdi/Method;)Z
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      method  
}
SourceFile: "InvokableTypeImpl.java"
NestMembers:
  com.sun.tools.jdi.InvokableTypeImpl$InvocationResult
InnerClasses:
  abstract InvocationResult = com.sun.tools.jdi.InvokableTypeImpl$InvocationResult of com.sun.tools.jdi.InvokableTypeImpl