Last active
September 24, 2017 20:14
-
-
Save indrabasak/22fd48ea12f5acc224482d2c2278c391 to your computer and use it in GitHub Desktop.
Decompile ClassA.class
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Classfile /Users/ib/examples/target/classes/example/simple/app/ClassA.class | |
Last modified Sep 14, 2017; size 1017 bytes | |
MD5 checksum 60bb1285c34e6284bb32fd9938e30082 | |
Compiled from "ClassA.java" | |
public class example.simple.app.ClassA | |
minor version: 0 | |
major version: 52 | |
flags: ACC_PUBLIC, ACC_SUPER | |
Constant pool: | |
#1 = Methodref #16.#39 // java/lang/Object."<init>":()V | |
#2 = Fieldref #15.#40 // example/simple/app/ClassA.myAttrib1:Ljava/lang/String; | |
#3 = Fieldref #15.#41 // example/simple/app/ClassA.myAttrib2:I | |
#4 = Class #42 // example/simple/app/ClassB | |
#5 = Methodref #4.#39 // example/simple/app/ClassB."<init>":()V | |
#6 = Class #43 // java/lang/StringBuilder | |
#7 = Methodref #6.#39 // java/lang/StringBuilder."<init>":()V | |
#8 = String #44 // ClassA.methodX( | |
#9 = Methodref #6.#45 // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
#10 = String #46 // , | |
#11 = Methodref #6.#47 // java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
#12 = String #48 // ) -> | |
#13 = Methodref #4.#49 // example/simple/app/ClassB.methodY:()Ljava/lang/String; | |
#14 = Methodref #6.#50 // java/lang/StringBuilder.toString:()Ljava/lang/String; | |
#15 = Class #51 // example/simple/app/ClassA | |
#16 = Class #52 // java/lang/Object | |
#17 = Utf8 myAttrib1 | |
#18 = Utf8 Ljava/lang/String; | |
#19 = Utf8 myAttrib2 | |
#20 = Utf8 I | |
#21 = Utf8 <init> | |
#22 = Utf8 ()V | |
#23 = Utf8 Code | |
#24 = Utf8 LineNumberTable | |
#25 = Utf8 LocalVariableTable | |
#26 = Utf8 this | |
#27 = Utf8 Lexample/simple/app/ClassA; | |
#28 = Utf8 methodX | |
#29 = Utf8 (Ljava/lang/String;I)Ljava/lang/String; | |
#30 = Utf8 param1 | |
#31 = Utf8 param2 | |
#32 = Utf8 bclazz | |
#33 = Utf8 Lexample/simple/app/ClassB; | |
#34 = Utf8 strBldr | |
#35 = Utf8 Ljava/lang/StringBuilder; | |
#36 = Utf8 retVal | |
#37 = Utf8 SourceFile | |
#38 = Utf8 ClassA.java | |
#39 = NameAndType #21:#22 // "<init>":()V | |
#40 = NameAndType #17:#18 // myAttrib1:Ljava/lang/String; | |
#41 = NameAndType #19:#20 // myAttrib2:I | |
#42 = Utf8 example/simple/app/ClassB | |
#43 = Utf8 java/lang/StringBuilder | |
#44 = Utf8 ClassA.methodX( | |
#45 = NameAndType #53:#54 // append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
#46 = Utf8 , | |
#47 = NameAndType #53:#55 // append:(I)Ljava/lang/StringBuilder; | |
#48 = Utf8 ) -> | |
#49 = NameAndType #56:#57 // methodY:()Ljava/lang/String; | |
#50 = NameAndType #58:#57 // toString:()Ljava/lang/String; | |
#51 = Utf8 example/simple/app/ClassA | |
#52 = Utf8 java/lang/Object | |
#53 = Utf8 append | |
#54 = Utf8 (Ljava/lang/String;)Ljava/lang/StringBuilder; | |
#55 = Utf8 (I)Ljava/lang/StringBuilder; | |
#56 = Utf8 methodY | |
#57 = Utf8 ()Ljava/lang/String; | |
#58 = Utf8 toString | |
{ | |
public example.simple.app.ClassA(); | |
descriptor: ()V | |
flags: ACC_PUBLIC | |
Code: | |
stack=1, locals=1, args_size=1 | |
0: aload_0 | |
1: invokespecial #1 // Method java/lang/Object."<init>":()V | |
4: return | |
LineNumberTable: | |
line 3: 0 | |
LocalVariableTable: | |
Start Length Slot Name Signature | |
0 5 0 this Lexample/simple/app/ClassA; | |
public java.lang.String methodX(java.lang.String, int); | |
descriptor: (Ljava/lang/String;I)Ljava/lang/String; | |
flags: ACC_PUBLIC | |
Code: | |
stack=2, locals=6, args_size=3 | |
0: aload_0 | |
1: aload_1 | |
2: putfield #2 // Field myAttrib1:Ljava/lang/String; | |
5: aload_0 | |
6: iload_2 | |
7: putfield #3 // Field myAttrib2:I | |
10: new #4 // class example/simple/app/ClassB | |
13: dup | |
14: invokespecial #5 // Method example/simple/app/ClassB."<init>":()V | |
17: astore_3 | |
18: new #6 // class java/lang/StringBuilder | |
21: dup | |
22: invokespecial #7 // Method java/lang/StringBuilder."<init>":()V | |
25: astore 4 | |
27: aload 4 | |
29: ldc #8 // String ClassA.methodX( | |
31: invokevirtual #9 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
34: aload_1 | |
35: invokevirtual #9 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
38: ldc #10 // String , | |
40: invokevirtual #9 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
43: iload_2 | |
44: invokevirtual #11 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
47: ldc #12 // String ) -> | |
49: invokevirtual #9 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
52: aload_3 | |
53: invokevirtual #13 // Method example/simple/app/ClassB.methodY:()Ljava/lang/String; | |
56: invokevirtual #9 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
59: invokevirtual #14 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
62: astore 5 | |
64: aload 5 | |
66: areturn | |
LineNumberTable: | |
line 10: 0 | |
line 11: 5 | |
line 13: 10 | |
line 15: 18 | |
line 16: 27 | |
line 17: 35 | |
line 18: 40 | |
line 19: 44 | |
line 20: 49 | |
line 21: 53 | |
line 23: 64 | |
LocalVariableTable: | |
Start Length Slot Name Signature | |
0 67 0 this Lexample/simple/app/ClassA; | |
0 67 1 param1 Ljava/lang/String; | |
0 67 2 param2 I | |
18 49 3 bclazz Lexample/simple/app/ClassB; | |
27 40 4 strBldr Ljava/lang/StringBuilder; | |
64 3 5 retVal Ljava/lang/String; | |
} | |
SourceFile: "ClassA.java" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment