Classfile /c:/Users/Alexa/Documents/java-src/Sarek/sarek-constructor-mock-javassist/constructor-mock-transform-javassist/org/acme/Sub.class Last modified 08.07.2020; size 1594 bytes MD5 checksum 324d70a9ec5bcc051c3140fb21982a25 Compiled from "Sub.java" public class org.acme.Sub extends org.acme.Base minor version: 0 major version: 52 flags: ACC_PUBLIC, ACC_SUPER Constant pool: #1 = Class #2 // org/acme/Sub$Expensive #2 = Utf8 org/acme/Sub$Expensive #3 = Methodref #1.#4 // org/acme/Sub$Expensive."":(I)V #4 = NameAndType #5:#6 // "":(I)V #5 = Utf8 #6 = Utf8 (I)V #7 = Methodref #1.#8 // org/acme/Sub$Expensive.getId:()I #8 = NameAndType #9:#10 // getId:()I #9 = Utf8 getId #10 = Utf8 ()I #11 = Methodref #12.#4 // org/acme/Base."":(I)V #12 = Class #13 // org/acme/Base #13 = Utf8 org/acme/Base #14 = Fieldref #15.#16 // org/acme/Sub.name:Ljava/lang/String; #15 = Class #17 // org/acme/Sub #16 = NameAndType #18:#19 // name:Ljava/lang/String; #17 = Utf8 org/acme/Sub #18 = Utf8 name #19 = Utf8 Ljava/lang/String; #20 = Fieldref #21.#22 // java/lang/System.out:Ljava/io/PrintStream; #21 = Class #23 // java/lang/System #22 = NameAndType #24:#25 // out:Ljava/io/PrintStream; #23 = Utf8 java/lang/System #24 = Utf8 out #25 = Utf8 Ljava/io/PrintStream; #26 = Class #27 // java/lang/StringBuilder #27 = Utf8 java/lang/StringBuilder #28 = Methodref #26.#29 // java/lang/StringBuilder."":()V #29 = NameAndType #5:#30 // "":()V #30 = Utf8 ()V #31 = String #32 // Constructing Sub -> #32 = Utf8 Constructing Sub -> #33 = Methodref #26.#34 // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; #34 = NameAndType #35:#36 // append:(Ljava/lang/String;)Ljava/lang/StringBuilder; #35 = Utf8 append #36 = Utf8 (Ljava/lang/String;)Ljava/lang/StringBuilder; #37 = Methodref #26.#38 // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; #38 = NameAndType #35:#39 // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; #39 = Utf8 (Ljava/lang/Object;)Ljava/lang/StringBuilder; #40 = Methodref #26.#41 // java/lang/StringBuilder.toString:()Ljava/lang/String; #41 = NameAndType #42:#43 // toString:()Ljava/lang/String; #42 = Utf8 toString #43 = Utf8 ()Ljava/lang/String; #44 = Methodref #45.#46 // java/io/PrintStream.println:(Ljava/lang/String;)V #45 = Class #47 // java/io/PrintStream #46 = NameAndType #48:#49 // println:(Ljava/lang/String;)V #47 = Utf8 java/io/PrintStream #48 = Utf8 println #49 = Utf8 (Ljava/lang/String;)V #50 = Methodref #15.#51 // org/acme/Sub."":(ILjava/lang/String;)V #51 = NameAndType #5:#52 // "":(ILjava/lang/String;)V #52 = Utf8 (ILjava/lang/String;)V #53 = String #54 // Sub@ #54 = Utf8 Sub@ #55 = Methodref #56.#57 // java/lang/Object.hashCode:()I #56 = Class #58 // java/lang/Object #57 = NameAndType #59:#10 // hashCode:()I #58 = Utf8 java/lang/Object #59 = Utf8 hashCode #60 = Methodref #26.#61 // java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; #61 = NameAndType #35:#62 // append:(I)Ljava/lang/StringBuilder; #62 = Utf8 (I)Ljava/lang/StringBuilder; #63 = String #64 // [name= #64 = Utf8 [name= #65 = String #66 // , id= #66 = Utf8 , id= #67 = Fieldref #15.#68 // org/acme/Sub.id:I #68 = NameAndType #69:#70 // id:I #69 = Utf8 id #70 = Utf8 I #71 = String #72 // ] #72 = Utf8 ] #73 = Utf8 Code #74 = Utf8 LineNumberTable #75 = Utf8 LocalVariableTable #76 = Utf8 this #77 = Utf8 Lorg/acme/Sub; #78 = Utf8 getName #79 = Utf8 SourceFile #80 = Utf8 Sub.java #81 = Utf8 InnerClasses #82 = Utf8 Expensive #83 = Utf8 dev/sarek/agent/constructor_mock/ConstructorMockRegistry #84 = Class #83 // dev/sarek/agent/constructor_mock/ConstructorMockRegistry #85 = Utf8 isMockUnderConstruction #86 = NameAndType #85:#10 // isMockUnderConstruction:()I #87 = Methodref #84.#86 // dev/sarek/agent/constructor_mock/ConstructorMockRegistry.isMockUnderConstruction:()I #88 = Utf8 registerMockInstance #89 = Utf8 (Ljava/lang/Object;)V #90 = NameAndType #88:#89 // registerMockInstance:(Ljava/lang/Object;)V #91 = Methodref #84.#90 // dev/sarek/agent/constructor_mock/ConstructorMockRegistry.registerMockInstance:(Ljava/lang/Object;)V #92 = Utf8 java/lang/String #93 = Class #92 // java/lang/String #94 = Utf8 StackMapTable { protected final java.lang.String name; descriptor: Ljava/lang/String; flags: ACC_PROTECTED, ACC_FINAL public java.lang.String getName(); descriptor: ()Ljava/lang/String; flags: ACC_PUBLIC Code: stack=1, locals=1, args_size=1 0: aload_0 1: getfield #14 // Field name:Ljava/lang/String; 4: areturn LineNumberTable: line 18: 0 LocalVariableTable: Start Length Slot Name Signature 0 5 0 this Lorg/acme/Sub; public org.acme.Sub(int, java.lang.String); descriptor: (ILjava/lang/String;)V flags: ACC_PUBLIC Code: stack=4, locals=4, args_size=3 0: invokestatic #87 // Method dev/sarek/agent/constructor_mock/ConstructorMockRegistry.isMockUnderConstruction:()I 3: istore_3 4: iload_3 5: iconst_0 6: if_icmple 24 9: aload_0 10: iconst_0 11: invokespecial #11 // Method org/acme/Base."":(I)V 14: iload_3 15: iconst_1 16: if_icmpne 23 19: aload_0 20: invokestatic #91 // Method dev/sarek/agent/constructor_mock/ConstructorMockRegistry.registerMockInstance:(Ljava/lang/Object;)V 23: return 24: aload_0 25: new #1 // class org/acme/Sub$Expensive 28: dup 29: iload_1 30: invokespecial #3 // Method org/acme/Sub$Expensive."":(I)V 33: invokevirtual #7 // Method org/acme/Sub$Expensive.getId:()I 36: invokespecial #11 // Method org/acme/Base."":(I)V 39: aload_0 40: aload_2 41: putfield #14 // Field name:Ljava/lang/String; 44: getstatic #20 // Field java/lang/System.out:Ljava/io/PrintStream; 47: new #26 // class java/lang/StringBuilder 50: dup 51: invokespecial #28 // Method java/lang/StringBuilder."":()V 54: ldc #31 // String Constructing Sub -> 56: invokevirtual #33 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 59: aload_0 60: invokevirtual #37 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 63: invokevirtual #40 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 66: invokevirtual #44 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 69: return LineNumberTable: line 7: 24 line 8: 39 line 9: 44 line 10: 69 LocalVariableTable: Start Length Slot Name Signature 0 70 0 this Lorg/acme/Sub; 0 70 1 id I 0 70 2 name Ljava/lang/String; StackMapTable: number_of_entries = 2 frame_type = 255 /* full_frame */ offset_delta = 23 locals = [ class org/acme/Sub, int, class java/lang/String, int ] stack = [] frame_type = 0 /* same */ public org.acme.Sub(java.lang.String); descriptor: (Ljava/lang/String;)V flags: ACC_PUBLIC Code: stack=3, locals=3, args_size=2 0: invokestatic #87 // Method dev/sarek/agent/constructor_mock/ConstructorMockRegistry.isMockUnderConstruction:()I 3: istore_2 4: iload_2 5: iconst_0 6: if_icmple 24 9: aload_0 10: iconst_0 11: invokespecial #11 // Method org/acme/Base."":(I)V 14: iload_2 15: iconst_1 16: if_icmpne 23 19: aload_0 20: invokestatic #91 // Method dev/sarek/agent/constructor_mock/ConstructorMockRegistry.registerMockInstance:(Ljava/lang/Object;)V 23: return 24: aload_0 25: sipush 1234 28: aload_1 29: invokespecial #50 // Method "":(ILjava/lang/String;)V 32: getstatic #20 // Field java/lang/System.out:Ljava/io/PrintStream; 35: new #26 // class java/lang/StringBuilder 38: dup 39: invokespecial #28 // Method java/lang/StringBuilder."":()V 42: ldc #31 // String Constructing Sub -> 44: invokevirtual #33 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 47: aload_0 48: invokevirtual #37 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 51: invokevirtual #40 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 54: invokevirtual #44 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 57: return LineNumberTable: line 13: 24 line 14: 32 line 15: 57 LocalVariableTable: Start Length Slot Name Signature 0 58 0 this Lorg/acme/Sub; 0 58 1 name Ljava/lang/String; StackMapTable: number_of_entries = 2 frame_type = 255 /* full_frame */ offset_delta = 23 locals = [ class org/acme/Sub, class java/lang/String, int ] stack = [] frame_type = 0 /* same */ public java.lang.String toString(); descriptor: ()Ljava/lang/String; flags: ACC_PUBLIC Code: stack=2, locals=1, args_size=1 0: new #26 // class java/lang/StringBuilder 3: dup 4: invokespecial #28 // Method java/lang/StringBuilder."":()V 7: ldc #53 // String Sub@ 9: invokevirtual #33 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 12: aload_0 13: invokevirtual #55 // Method java/lang/Object.hashCode:()I 16: invokevirtual #60 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; 19: ldc #63 // String [name= 21: invokevirtual #33 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 24: aload_0 25: getfield #14 // Field name:Ljava/lang/String; 28: invokevirtual #33 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 31: ldc #65 // String , id= 33: invokevirtual #33 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 36: aload_0 37: getfield #67 // Field id:I 40: invokevirtual #60 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; 43: ldc #71 // String ] 45: invokevirtual #33 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 48: invokevirtual #40 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 51: areturn LineNumberTable: line 23: 0 LocalVariableTable: Start Length Slot Name Signature 0 52 0 this Lorg/acme/Sub; } SourceFile: "Sub.java" InnerClasses: static #82= #1 of #15; //Expensive=class org/acme/Sub$Expensive of class org/acme/Sub