public abstract class com.sun.tools.attach.VirtualMachine
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.tools.attach.VirtualMachine
super_class: java.lang.Object
{
private com.sun.tools.attach.spi.AttachProvider provider;
descriptor: Lcom/sun/tools/attach/spi/AttachProvider;
flags: (0x0002) ACC_PRIVATE
private java.lang.String id;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private volatile int hash;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
protected void <init>(com.sun.tools.attach.spi.AttachProvider, java.lang.String);
descriptor: (Lcom/sun/tools/attach/spi/AttachProvider;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "provider cannot be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: com.sun.tools.attach.VirtualMachine com.sun.tools.attach.spi.AttachProvider java.lang.String
StackMap stack:
aload 2
ifnonnull 5
4: new java.lang.NullPointerException
dup
ldc "id cannot be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.sun.tools.attach.VirtualMachine.provider:Lcom/sun/tools/attach/spi/AttachProvider;
6: aload 0
aload 2
putfield com.sun.tools.attach.VirtualMachine.id:Ljava/lang/String;
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/attach/VirtualMachine;
0 8 1 provider Lcom/sun/tools/attach/spi/AttachProvider;
0 8 2 id Ljava/lang/String;
MethodParameters:
Name Flags
provider
id
public static java.util.List<com.sun.tools.attach.VirtualMachineDescriptor> list();
descriptor: ()Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
1: astore 0
start local 0 2: invokestatic com.sun.tools.attach.spi.AttachProvider.providers:()Ljava/util/List;
astore 1
start local 1 3: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: java.util.ArrayList java.util.List top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.attach.spi.AttachProvider
astore 2
start local 2 5: aload 0
aload 2
invokevirtual com.sun.tools.attach.spi.AttachProvider.listVirtualMachines:()Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
2 8 0 l Ljava/util/ArrayList<Lcom/sun/tools/attach/VirtualMachineDescriptor;>;
3 8 1 providers Ljava/util/List<Lcom/sun/tools/attach/spi/AttachProvider;>;
5 6 2 provider Lcom/sun/tools/attach/spi/AttachProvider;
Signature: ()Ljava/util/List<Lcom/sun/tools/attach/VirtualMachineDescriptor;>;
public static com.sun.tools.attach.VirtualMachine attach(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/tools/attach/VirtualMachine;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "id cannot be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
invokestatic com.sun.tools.attach.spi.AttachProvider.providers:()Ljava/util/List;
astore 1
start local 1 3: aload 1
invokeinterface java.util.List.size:()I
ifne 5
4: new com.sun.tools.attach.AttachNotSupportedException
dup
ldc "no providers installed"
invokespecial com.sun.tools.attach.AttachNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.util.List
StackMap stack:
aconst_null
astore 2
start local 2 6: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: java.lang.String java.util.List com.sun.tools.attach.AttachNotSupportedException top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.attach.spi.AttachProvider
astore 3
start local 3 8: aload 3
aload 0
invokevirtual com.sun.tools.attach.spi.AttachProvider.attachVirtualMachine:(Ljava/lang/String;)Lcom/sun/tools/attach/VirtualMachine;
9: areturn
10: StackMap locals: java.lang.String java.util.List com.sun.tools.attach.AttachNotSupportedException com.sun.tools.attach.spi.AttachProvider java.util.Iterator
StackMap stack: com.sun.tools.attach.AttachNotSupportedException
astore 5
start local 5 11: aload 5
astore 2
end local 5 end local 3 12: StackMap locals: java.lang.String java.util.List com.sun.tools.attach.AttachNotSupportedException top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
13: aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 id Ljava/lang/String;
3 14 1 providers Ljava/util/List<Lcom/sun/tools/attach/spi/AttachProvider;>;
6 14 2 lastExc Lcom/sun/tools/attach/AttachNotSupportedException;
8 12 3 provider Lcom/sun/tools/attach/spi/AttachProvider;
11 12 5 x Lcom/sun/tools/attach/AttachNotSupportedException;
Exception table:
from to target type
8 9 10 Class com.sun.tools.attach.AttachNotSupportedException
Exceptions:
throws com.sun.tools.attach.AttachNotSupportedException, java.io.IOException
MethodParameters:
Name Flags
id
public static com.sun.tools.attach.VirtualMachine attach(com.sun.tools.attach.VirtualMachineDescriptor);
descriptor: (Lcom/sun/tools/attach/VirtualMachineDescriptor;)Lcom/sun/tools/attach/VirtualMachine;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.tools.attach.VirtualMachineDescriptor.provider:()Lcom/sun/tools/attach/spi/AttachProvider;
aload 0
invokevirtual com.sun.tools.attach.spi.AttachProvider.attachVirtualMachine:(Lcom/sun/tools/attach/VirtualMachineDescriptor;)Lcom/sun/tools/attach/VirtualMachine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 vmd Lcom/sun/tools/attach/VirtualMachineDescriptor;
Exceptions:
throws com.sun.tools.attach.AttachNotSupportedException, java.io.IOException
MethodParameters:
Name Flags
vmd
public abstract void detach();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
public final com.sun.tools.attach.spi.AttachProvider provider();
descriptor: ()Lcom/sun/tools/attach/spi/AttachProvider;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.attach.VirtualMachine.provider:Lcom/sun/tools/attach/spi/AttachProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/attach/VirtualMachine;
public final java.lang.String id();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.attach.VirtualMachine.id:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/attach/VirtualMachine;
public abstract void loadAgentLibrary(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws com.sun.tools.attach.AgentLoadException, com.sun.tools.attach.AgentInitializationException, java.io.IOException
MethodParameters:
Name Flags
agentLibrary
options
public void loadAgentLibrary(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual com.sun.tools.attach.VirtualMachine.loadAgentLibrary:(Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/attach/VirtualMachine;
0 2 1 agentLibrary Ljava/lang/String;
Exceptions:
throws com.sun.tools.attach.AgentLoadException, com.sun.tools.attach.AgentInitializationException, java.io.IOException
MethodParameters:
Name Flags
agentLibrary
public abstract void loadAgentPath(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws com.sun.tools.attach.AgentLoadException, com.sun.tools.attach.AgentInitializationException, java.io.IOException
MethodParameters:
Name Flags
agentPath
options
public void loadAgentPath(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual com.sun.tools.attach.VirtualMachine.loadAgentPath:(Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/attach/VirtualMachine;
0 2 1 agentPath Ljava/lang/String;
Exceptions:
throws com.sun.tools.attach.AgentLoadException, com.sun.tools.attach.AgentInitializationException, java.io.IOException
MethodParameters:
Name Flags
agentPath
public abstract void loadAgent(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws com.sun.tools.attach.AgentLoadException, com.sun.tools.attach.AgentInitializationException, java.io.IOException
MethodParameters:
Name Flags
agent
options
public void loadAgent(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual com.sun.tools.attach.VirtualMachine.loadAgent:(Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/attach/VirtualMachine;
0 2 1 agent Ljava/lang/String;
Exceptions:
throws com.sun.tools.attach.AgentLoadException, com.sun.tools.attach.AgentInitializationException, java.io.IOException
MethodParameters:
Name Flags
agent
public abstract java.util.Properties getSystemProperties();
descriptor: ()Ljava/util/Properties;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
public abstract java.util.Properties getAgentProperties();
descriptor: ()Ljava/util/Properties;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.attach.VirtualMachine.hash:I
ifeq 2
1: aload 0
getfield com.sun.tools.attach.VirtualMachine.hash:I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.tools.attach.VirtualMachine.provider:Lcom/sun/tools/attach/spi/AttachProvider;
invokevirtual java.lang.Object.hashCode:()I
bipush 127
imul
aload 0
getfield com.sun.tools.attach.VirtualMachine.id:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
iadd
putfield com.sun.tools.attach.VirtualMachine.hash:I
3: aload 0
getfield com.sun.tools.attach.VirtualMachine.hash:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/attach/VirtualMachine;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof com.sun.tools.attach.VirtualMachine
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.attach.VirtualMachine
astore 2
start local 2 5: aload 2
invokevirtual com.sun.tools.attach.VirtualMachine.provider:()Lcom/sun/tools/attach/spi/AttachProvider;
aload 0
invokevirtual com.sun.tools.attach.VirtualMachine.provider:()Lcom/sun/tools/attach/spi/AttachProvider;
if_acmpeq 7
6: iconst_0
ireturn
7: StackMap locals: com.sun.tools.attach.VirtualMachine
StackMap stack:
aload 2
invokevirtual com.sun.tools.attach.VirtualMachine.id:()Ljava/lang/String;
aload 0
invokevirtual com.sun.tools.attach.VirtualMachine.id:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/attach/VirtualMachine;
0 10 1 ob Ljava/lang/Object;
5 10 2 other Lcom/sun/tools/attach/VirtualMachine;
MethodParameters:
Name Flags
ob
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield com.sun.tools.attach.VirtualMachine.provider:Lcom/sun/tools/attach/spi/AttachProvider;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.attach.VirtualMachine.id:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/attach/VirtualMachine;
}
SourceFile: "VirtualMachine.java"