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 /C:/Users/alex/IdeaProjects/Tests/out/production/Tests/com/alexchiri/bytecode/ASimpleClass.class | |
Last modified 27-jan-2013; size 1319 bytes | |
MD5 checksum 441505122fb6fa3d285243a382ddef46 | |
Compiled from "ASimpleClass.java" | |
public class com.alexchiri.bytecode.ASimpleClass | |
SourceFile: "ASimpleClass.java" | |
minor version: 0 | |
major version: 51 | |
flags: ACC_PUBLIC, ACC_SUPER | |
Constant pool: | |
#1 = Methodref #19.#44 // java/lang/Object."<init>":()V | |
#2 = Class #45 // java/util/ArrayList | |
#3 = Methodref #2.#44 // java/util/ArrayList."<init>":()V | |
#4 = String #46 // Type | |
#5 = InterfaceMethodref #47.#48 // java/util/List.add:(Ljava/lang/Object;)Z | |
#6 = String #49 // erasure | |
#7 = InterfaceMethodref #47.#50 // java/util/List.iterator:()Ljava/util/Iterator; | |
#8 = InterfaceMethodref #51.#52 // java/util/Iterator.hasNext:()Z | |
#9 = InterfaceMethodref #51.#53 // java/util/Iterator.next:()Ljava/lang/Object; | |
#10 = Class #54 // java/lang/String | |
#11 = Fieldref #55.#56 // java/lang/System.out:Ljava/io/PrintStream; | |
#12 = Class #57 // java/lang/StringBuilder | |
#13 = Methodref #12.#44 // java/lang/StringBuilder."<init>":()V | |
#14 = Methodref #12.#58 // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
#15 = String #59 // | |
#16 = Methodref #12.#60 // java/lang/StringBuilder.toString:()Ljava/lang/String; | |
#17 = Methodref #61.#62 // java/io/PrintStream.println:(Ljava/lang/String;)V | |
#18 = Class #63 // com/alexchiri/bytecode/ASimpleClass | |
#19 = Class #64 // java/lang/Object | |
#20 = Utf8 <init> | |
#21 = Utf8 ()V | |
#22 = Utf8 Code | |
#23 = Utf8 LineNumberTable | |
#24 = Utf8 LocalVariableTable | |
#25 = Utf8 this | |
#26 = Utf8 Lcom/alexchiri/bytecode/ASimpleClass; | |
#27 = Utf8 main | |
#28 = Utf8 ([Ljava/lang/String;)V | |
#29 = Utf8 s | |
#30 = Utf8 Ljava/lang/String; | |
#31 = Utf8 i$ | |
#32 = Utf8 Ljava/util/Iterator; | |
#33 = Utf8 args | |
#34 = Utf8 [Ljava/lang/String; | |
#35 = Utf8 strings | |
#36 = Utf8 Ljava/util/List; | |
#37 = Utf8 LocalVariableTypeTable | |
#38 = Utf8 Ljava/util/List<Ljava/lang/String;>; | |
#39 = Utf8 StackMapTable | |
#40 = Class #65 // java/util/List | |
#41 = Class #66 // java/util/Iterator | |
#42 = Utf8 SourceFile | |
#43 = Utf8 ASimpleClass.java | |
#44 = NameAndType #20:#21 // "<init>":()V | |
#45 = Utf8 java/util/ArrayList | |
#46 = Utf8 Type | |
#47 = Class #65 // java/util/List | |
#48 = NameAndType #67:#68 // add:(Ljava/lang/Object;)Z | |
#49 = Utf8 erasure | |
#50 = NameAndType #69:#70 // iterator:()Ljava/util/Iterator; | |
#51 = Class #66 // java/util/Iterator | |
#52 = NameAndType #71:#72 // hasNext:()Z | |
#53 = NameAndType #73:#74 // next:()Ljava/lang/Object; | |
#54 = Utf8 java/lang/String | |
#55 = Class #75 // java/lang/System | |
#56 = NameAndType #76:#77 // out:Ljava/io/PrintStream; | |
#57 = Utf8 java/lang/StringBuilder | |
#58 = NameAndType #78:#79 // append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
#59 = Utf8 | |
#60 = NameAndType #80:#81 // toString:()Ljava/lang/String; | |
#61 = Class #82 // java/io/PrintStream | |
#62 = NameAndType #83:#84 // println:(Ljava/lang/String;)V | |
#63 = Utf8 com/alexchiri/bytecode/ASimpleClass | |
#64 = Utf8 java/lang/Object | |
#65 = Utf8 java/util/List | |
#66 = Utf8 java/util/Iterator | |
#67 = Utf8 add | |
#68 = Utf8 (Ljava/lang/Object;)Z | |
#69 = Utf8 iterator | |
#70 = Utf8 ()Ljava/util/Iterator; | |
#71 = Utf8 hasNext | |
#72 = Utf8 ()Z | |
#73 = Utf8 next | |
#74 = Utf8 ()Ljava/lang/Object; | |
#75 = Utf8 java/lang/System | |
#76 = Utf8 out | |
#77 = Utf8 Ljava/io/PrintStream; | |
#78 = Utf8 append | |
#79 = Utf8 (Ljava/lang/String;)Ljava/lang/StringBuilder; | |
#80 = Utf8 toString | |
#81 = Utf8 ()Ljava/lang/String; | |
#82 = Utf8 java/io/PrintStream | |
#83 = Utf8 println | |
#84 = Utf8 (Ljava/lang/String;)V | |
{ | |
public com.alexchiri.bytecode.ASimpleClass(); | |
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 10: 0 | |
LocalVariableTable: | |
Start Length Slot Name Signature | |
0 5 0 this Lcom/alexchiri/bytecode/ASimpleClass; | |
public static void main(java.lang.String[]); | |
flags: ACC_PUBLIC, ACC_STATIC | |
Code: | |
stack=3, locals=4, args_size=1 | |
0: new #2 // class java/util/ArrayList | |
3: dup | |
4: invokespecial #3 // Method java/util/ArrayList."<init>":()V | |
7: astore_1 | |
8: aload_1 | |
9: ldc #4 // String Type | |
11: invokeinterface #5, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z | |
16: pop | |
17: aload_1 | |
18: ldc #6 // String erasure | |
20: invokeinterface #5, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z | |
25: pop | |
26: aload_1 | |
27: invokeinterface #7, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; | |
32: astore_2 | |
33: aload_2 | |
34: invokeinterface #8, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z | |
39: ifeq 80 | |
42: aload_2 | |
43: invokeinterface #9, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; | |
48: checkcast #10 // class java/lang/String | |
51: astore_3 | |
52: getstatic #11 // Field java/lang/System.out:Ljava/io/PrintStream; | |
55: new #12 // class java/lang/StringBuilder | |
58: dup | |
59: invokespecial #13 // Method java/lang/StringBuilder."<init>":()V | |
62: aload_3 | |
63: invokevirtual #14 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
66: ldc #15 // String | |
68: invokevirtual #14 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
71: invokevirtual #16 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
74: invokevirtual #17 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
77: goto 33 | |
80: return | |
LineNumberTable: | |
line 12: 0 | |
line 13: 8 | |
line 14: 17 | |
line 16: 26 | |
line 17: 52 | |
line 18: 77 | |
line 19: 80 | |
LocalVariableTable: | |
Start Length Slot Name Signature | |
52 25 3 s Ljava/lang/String; | |
33 47 2 i$ Ljava/util/Iterator; | |
0 81 0 args [Ljava/lang/String; | |
8 73 1 strings Ljava/util/List; | |
LocalVariableTypeTable: | |
Start Length Slot Name Signature | |
8 73 1 strings Ljava/util/List<Ljava/lang/String;>; | |
StackMapTable: number_of_entries = 2 | |
frame_type = 253 /* append */ | |
offset_delta = 33 | |
locals = [ class java/util/List, class java/util/Iterator ] | |
frame_type = 250 /* chop */ | |
offset_delta = 46 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment