public final class net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent extends java.lang.Enum<net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent> implements net.bytebuddy.agent.ByteBuddyAgent$AgentProvider
minor version: 0
major version: 59
flags: flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ANNOTATION
this_class: net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent
super_class: java.lang.Enum
{
public static final net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent INSTANCE;
descriptor: Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
private static final java.lang.String AGENT_FILE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "byteBuddyAgent"
private static final net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent[] ENUM$VALUES;
descriptor: [Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;
flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent
dup
ldc "INSTANCE"
iconst_0
invokespecial net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent.<init>:(Ljava/lang/String;I)V
1: putstatic net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent.INSTANCE:Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;
iconst_1
anewarray net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent
dup
iconst_0
getstatic net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent.INSTANCE:Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;
aastore
putstatic net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent.ENUM$VALUES:[Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;
2: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 0: aload 0
aload 1
iload 2
invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;
MethodParameters:
Name Flags
$enum$name
$enum$ordinal
private static java.io.File trySelfResolve();
descriptor: ()Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=0
0: ldc Lnet/bytebuddy/agent/Installer;
invokevirtual java.lang.Class.getProtectionDomain:()Ljava/security/ProtectionDomain;
astore 0
start local 0 1: aload 0
ifnonnull 3
2: getstatic net.bytebuddy.agent.ByteBuddyAgent.CANNOT_SELF_RESOLVE:Ljava/io/File;
areturn
3: StackMap locals: java.security.ProtectionDomain
StackMap stack:
aload 0
invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
astore 1
start local 1 4: aload 1
ifnonnull 6
5: getstatic net.bytebuddy.agent.ByteBuddyAgent.CANNOT_SELF_RESOLVE:Ljava/io/File;
areturn
6: StackMap locals: java.security.CodeSource
StackMap stack:
aload 1
invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
astore 2
start local 2 7: aload 2
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
8: getstatic net.bytebuddy.agent.ByteBuddyAgent.CANNOT_SELF_RESOLVE:Ljava/io/File;
areturn
9: StackMap locals: java.net.URL
StackMap stack:
new java.io.File
dup
aload 2
invokevirtual java.net.URL.toURI:()Ljava/net/URI;
invokespecial java.io.File.<init>:(Ljava/net/URI;)V
astore 3
start local 3 10: goto 13
end local 3 StackMap locals:
StackMap stack: java.net.URISyntaxException
11: pop
12: new java.io.File
dup
aload 2
invokevirtual java.net.URL.getPath:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
start local 3 13: StackMap locals: java.io.File
StackMap stack:
aload 3
invokevirtual java.io.File.isFile:()Z
ifeq 14
aload 3
invokevirtual java.io.File.canRead:()Z
ifne 15
14: StackMap locals:
StackMap stack:
getstatic net.bytebuddy.agent.ByteBuddyAgent.CANNOT_SELF_RESOLVE:Ljava/io/File;
areturn
15: StackMap locals:
StackMap stack:
new java.util.jar.JarInputStream
dup
new java.io.FileInputStream
dup
aload 3
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
invokespecial java.util.jar.JarInputStream.<init>:(Ljava/io/InputStream;)V
astore 4
start local 4 16: aload 4
invokevirtual java.util.jar.JarInputStream.getManifest:()Ljava/util/jar/Manifest;
astore 5
start local 5 17: aload 5
ifnonnull 21
18: getstatic net.bytebuddy.agent.ByteBuddyAgent.CANNOT_SELF_RESOLVE:Ljava/io/File;
astore 8
19: aload 4
invokevirtual java.util.jar.JarInputStream.close:()V
20: aload 8
areturn
21: StackMap locals: java.util.jar.JarInputStream java.util.jar.Manifest
StackMap stack:
aload 5
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
astore 6
start local 6 22: aload 6
ifnonnull 26
23: getstatic net.bytebuddy.agent.ByteBuddyAgent.CANNOT_SELF_RESOLVE:Ljava/io/File;
astore 8
24: aload 4
invokevirtual java.util.jar.JarInputStream.close:()V
25: aload 8
areturn
26: StackMap locals: java.util.jar.Attributes
StackMap stack:
ldc Lnet/bytebuddy/agent/Installer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 6
ldc "Agent-Class"
invokevirtual java.util.jar.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 33
27: aload 6
ldc "Can-Redefine-Classes"
invokevirtual java.util.jar.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
ifeq 33
28: aload 6
ldc "Can-Retransform-Classes"
invokevirtual java.util.jar.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
ifeq 33
29: aload 6
ldc "Can-Set-Native-Method-Prefix"
invokevirtual java.util.jar.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
ifeq 33
30: aload 3
astore 8
31: aload 4
invokevirtual java.util.jar.JarInputStream.close:()V
32: aload 8
areturn
33: StackMap locals:
StackMap stack:
getstatic net.bytebuddy.agent.ByteBuddyAgent.CANNOT_SELF_RESOLVE:Ljava/io/File;
astore 8
34: aload 4
invokevirtual java.util.jar.JarInputStream.close:()V
35: aload 8
areturn
end local 6 end local 5 36: StackMap locals: java.security.ProtectionDomain java.security.CodeSource java.net.URL java.io.File java.util.jar.JarInputStream
StackMap stack: java.lang.Throwable
astore 7
37: aload 4
invokevirtual java.util.jar.JarInputStream.close:()V
38: aload 7
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 39 0 protectionDomain Ljava/security/ProtectionDomain;
4 39 1 codeSource Ljava/security/CodeSource;
7 39 2 location Ljava/net/URL;
10 11 3 agentJar Ljava/io/File;
13 39 3 agentJar Ljava/io/File;
16 39 4 jarInputStream Ljava/util/jar/JarInputStream;
17 36 5 manifest Ljava/util/jar/Manifest;
22 36 6 attributes Ljava/util/jar/Attributes;
Exception table:
from to target type
9 10 11 Class java.net.URISyntaxException
16 19 36 any
21 24 36 any
26 31 36 any
33 34 36 any
Exceptions:
throws java.io.IOException
private static java.io.File createJarFile();
descriptor: ()Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=9, args_size=0
0: ldc Lnet/bytebuddy/agent/Installer;
new java.lang.StringBuilder
dup
bipush 47
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lnet/bytebuddy/agent/Installer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 0
start local 0 1: aload 0
ifnonnull 3
2: new java.lang.IllegalStateException
dup
ldc "Cannot locate class file for Byte Buddy installer"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.io.InputStream
StackMap stack:
ldc "byteBuddyAgent"
ldc ".jar"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 1
start local 1 4: aload 1
invokevirtual java.io.File.deleteOnExit:()V
5: new java.util.jar.Manifest
dup
invokespecial java.util.jar.Manifest.<init>:()V
astore 2
start local 2 6: aload 2
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
getstatic java.util.jar.Attributes$Name.MANIFEST_VERSION:Ljava/util/jar/Attributes$Name;
ldc "1.0"
invokevirtual java.util.jar.Attributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 2
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
new java.util.jar.Attributes$Name
dup
ldc "Agent-Class"
invokespecial java.util.jar.Attributes$Name.<init>:(Ljava/lang/String;)V
ldc Lnet/bytebuddy/agent/Installer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.util.jar.Attributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 2
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
new java.util.jar.Attributes$Name
dup
ldc "Can-Redefine-Classes"
invokespecial java.util.jar.Attributes$Name.<init>:(Ljava/lang/String;)V
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
invokevirtual java.util.jar.Attributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 2
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
new java.util.jar.Attributes$Name
dup
ldc "Can-Retransform-Classes"
invokespecial java.util.jar.Attributes$Name.<init>:(Ljava/lang/String;)V
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
invokevirtual java.util.jar.Attributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 2
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
new java.util.jar.Attributes$Name
dup
ldc "Can-Set-Native-Method-Prefix"
invokespecial java.util.jar.Attributes$Name.<init>:(Ljava/lang/String;)V
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
invokevirtual java.util.jar.Attributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: new java.util.jar.JarOutputStream
dup
new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
aload 2
invokespecial java.util.jar.JarOutputStream.<init>:(Ljava/io/OutputStream;Ljava/util/jar/Manifest;)V
astore 3
start local 3 12: aload 3
new java.util.jar.JarEntry
dup
new java.lang.StringBuilder
dup
ldc Lnet/bytebuddy/agent/Installer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.util.jar.JarEntry.<init>:(Ljava/lang/String;)V
invokevirtual java.util.jar.JarOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
13: sipush 1024
newarray 8
astore 4
start local 4 14: goto 16
start local 5 15: StackMap locals: java.io.InputStream java.io.File java.util.jar.Manifest java.util.jar.JarOutputStream byte[] int
StackMap stack:
aload 3
aload 4
iconst_0
iload 5
invokevirtual java.util.jar.JarOutputStream.write:([BII)V
end local 5 16: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual java.io.InputStream.read:([B)I
dup
istore 5
start local 5 17: iconst_m1
if_icmpne 15
18: aload 3
invokevirtual java.util.jar.JarOutputStream.closeEntry:()V
end local 5 end local 4 19: goto 23
StackMap locals: java.io.InputStream java.io.File java.util.jar.Manifest java.util.jar.JarOutputStream
StackMap stack: java.lang.Throwable
20: astore 6
21: aload 3
invokevirtual java.util.jar.JarOutputStream.close:()V
22: aload 6
athrow
23: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.jar.JarOutputStream.close:()V
24: aload 1
astore 8
25: aload 0
invokevirtual java.io.InputStream.close:()V
26: aload 8
areturn
end local 3 end local 2 end local 1 27: StackMap locals: java.io.InputStream
StackMap stack: java.lang.Throwable
astore 7
28: aload 0
invokevirtual java.io.InputStream.close:()V
29: aload 7
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 30 0 inputStream Ljava/io/InputStream;
4 27 1 agentJar Ljava/io/File;
6 27 2 manifest Ljava/util/jar/Manifest;
12 27 3 jarOutputStream Ljava/util/jar/JarOutputStream;
14 19 4 buffer [B
15 16 5 index I
17 19 5 index I
Exception table:
from to target type
12 20 20 any
3 25 27 any
Exceptions:
throws java.io.IOException
public java.io.File resolve();
descriptor: ()Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: invokestatic net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent.trySelfResolve:()Ljava/io/File;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: invokestatic net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent.createJarFile:()Ljava/io/File;
goto 4
3: StackMap locals: java.io.File
StackMap stack:
aload 1
4: StackMap locals:
StackMap stack: java.io.File
areturn
end local 1 5: StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent
StackMap stack: java.lang.Exception
pop
6: invokestatic net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent.createJarFile:()Ljava/io/File;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;
1 5 1 agentJar Ljava/io/File;
Exception table:
from to target type
0 4 5 Class java.lang.Exception
Exceptions:
throws java.io.IOException
public static net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent[] values();
descriptor: ()[Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: getstatic net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent.ENUM$VALUES:[Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;
dup
astore 0
iconst_0
aload 0
arraylength
dup
istore 1
anewarray net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent
dup
astore 2
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
aload 2
areturn
LocalVariableTable:
Start End Slot Name Signature
public static net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent valueOf(java.lang.String);
descriptor: (Ljava/lang/String;)Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
0: ldc Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;
aload 0
invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
checkcast net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent
areturn
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
name
}
Signature: Ljava/lang/Enum<Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;>;Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider;
SourceFile: "ByteBuddyAgent.java"
NestHost: net.bytebuddy.agent.ByteBuddyAgent
InnerClasses:
public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes
protected abstract AgentProvider = net.bytebuddy.agent.ByteBuddyAgent$AgentProvider of net.bytebuddy.agent.ByteBuddyAgent
public final ForByteBuddyAgent = net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent of net.bytebuddy.agent.ByteBuddyAgent$AgentProvider