Classfile /Users/Shautvast/IdeaProjects/beejava/target/classes/nl/sander/beejava/Compiler.class Last modified 19 Nov 2020; size 6572 bytes SHA-256 checksum 0fb294ea8b397e1710dc3017a3c9c31e9bbda5f5219ef646af238a9a0aa62e0a Compiled from "Compiler.java" public class nl.sander.beejava.Compiler minor version: 0 major version: 59 flags: (0x0021) ACC_PUBLIC, ACC_SUPER this_class: #11 // nl/sander/beejava/Compiler super_class: #2 // java/lang/Object interfaces: 0, fields: 4, methods: 9, attributes: 3 Constant pool: #1 = Methodref #2.#3 // java/lang/Object."":()V #2 = Class #4 // java/lang/Object #3 = NameAndType #5:#6 // "":()V #4 = Utf8 java/lang/Object #5 = Utf8 #6 = Utf8 ()V #7 = Class #8 // nl/sander/beejava/ConstantPoolCreator #8 = Utf8 nl/sander/beejava/ConstantPoolCreator #9 = Methodref #7.#3 // nl/sander/beejava/ConstantPoolCreator."":()V #10 = Fieldref #11.#12 // nl/sander/beejava/Compiler.constantPoolCreator:Lnl/sander/beejava/ConstantPoolCreator; #11 = Class #13 // nl/sander/beejava/Compiler #12 = NameAndType #14:#15 // constantPoolCreator:Lnl/sander/beejava/ConstantPoolCreator; #13 = Utf8 nl/sander/beejava/Compiler #14 = Utf8 constantPoolCreator #15 = Utf8 Lnl/sander/beejava/ConstantPoolCreator; #16 = Fieldref #11.#17 // nl/sander/beejava/Compiler.compiledClass:Lnl/sander/beejava/CompiledClass; #17 = NameAndType #18:#19 // compiledClass:Lnl/sander/beejava/CompiledClass; #18 = Utf8 compiledClass #19 = Utf8 Lnl/sander/beejava/CompiledClass; #20 = Class #21 // nl/sander/beejava/ConstantPoolEntryCreator #21 = Utf8 nl/sander/beejava/ConstantPoolEntryCreator #22 = Methodref #20.#23 // nl/sander/beejava/ConstantPoolEntryCreator."":(Lnl/sander/beejava/CompiledClass;)V #23 = NameAndType #5:#24 // "":(Lnl/sander/beejava/CompiledClass;)V #24 = Utf8 (Lnl/sander/beejava/CompiledClass;)V #25 = Fieldref #11.#26 // nl/sander/beejava/Compiler.constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; #26 = NameAndType #27:#28 // constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; #27 = Utf8 constantPoolEntryCreator #28 = Utf8 Lnl/sander/beejava/ConstantPoolEntryCreator; #29 = Class #30 // nl/sander/beejava/CompiledClass #30 = Utf8 nl/sander/beejava/CompiledClass #31 = Methodref #29.#32 // nl/sander/beejava/CompiledClass."":(Lnl/sander/beejava/api/BeeSource;)V #32 = NameAndType #5:#33 // "":(Lnl/sander/beejava/api/BeeSource;)V #33 = Utf8 (Lnl/sander/beejava/api/BeeSource;)V #34 = Methodref #11.#23 // nl/sander/beejava/Compiler."":(Lnl/sander/beejava/CompiledClass;)V #35 = Methodref #11.#36 // nl/sander/beejava/Compiler.compile:()Lnl/sander/beejava/CompiledClass; #36 = NameAndType #37:#38 // compile:()Lnl/sander/beejava/CompiledClass; #37 = Utf8 compile #38 = Utf8 ()Lnl/sander/beejava/CompiledClass; #39 = Methodref #11.#40 // nl/sander/beejava/Compiler.createConstantPool:()Lnl/sander/beejava/constantpool/ConstantPool; #40 = NameAndType #41:#42 // createConstantPool:()Lnl/sander/beejava/constantpool/ConstantPool; #41 = Utf8 createConstantPool #42 = Utf8 ()Lnl/sander/beejava/constantpool/ConstantPool; #43 = Methodref #29.#44 // nl/sander/beejava/CompiledClass.setConstantPool:(Lnl/sander/beejava/constantpool/ConstantPool;)V #44 = NameAndType #45:#46 // setConstantPool:(Lnl/sander/beejava/constantpool/ConstantPool;)V #45 = Utf8 setConstantPool #46 = Utf8 (Lnl/sander/beejava/constantpool/ConstantPool;)V #47 = Methodref #20.#48 // nl/sander/beejava/ConstantPoolEntryCreator.addInterfaces:()V #48 = NameAndType #49:#6 // addInterfaces:()V #49 = Utf8 addInterfaces #50 = Methodref #20.#51 // nl/sander/beejava/ConstantPoolEntryCreator.addFields:()V #51 = NameAndType #52:#6 // addFields:()V #52 = Utf8 addFields #53 = Methodref #11.#54 // nl/sander/beejava/Compiler.addConstructors:()V #54 = NameAndType #55:#6 // addConstructors:()V #55 = Utf8 addConstructors #56 = Methodref #11.#57 // nl/sander/beejava/Compiler.addMethods:()V #57 = NameAndType #58:#6 // addMethods:()V #58 = Utf8 addMethods #59 = Methodref #29.#60 // nl/sander/beejava/CompiledClass.getSource:()Lnl/sander/beejava/api/BeeSource; #60 = NameAndType #61:#62 // getSource:()Lnl/sander/beejava/api/BeeSource; #61 = Utf8 getSource #62 = Utf8 ()Lnl/sander/beejava/api/BeeSource; #63 = Methodref #64.#65 // nl/sander/beejava/api/BeeSource.getConstructors:()Ljava/util/Set; #64 = Class #66 // nl/sander/beejava/api/BeeSource #65 = NameAndType #67:#68 // getConstructors:()Ljava/util/Set; #66 = Utf8 nl/sander/beejava/api/BeeSource #67 = Utf8 getConstructors #68 = Utf8 ()Ljava/util/Set; #69 = InvokeDynamic #0:#70 // #0:accept:(Lnl/sander/beejava/Compiler;)Ljava/util/function/Consumer; #70 = NameAndType #71:#72 // accept:(Lnl/sander/beejava/Compiler;)Ljava/util/function/Consumer; #71 = Utf8 accept #72 = Utf8 (Lnl/sander/beejava/Compiler;)Ljava/util/function/Consumer; #73 = InterfaceMethodref #74.#75 // java/util/Set.forEach:(Ljava/util/function/Consumer;)V #74 = Class #76 // java/util/Set #75 = NameAndType #77:#78 // forEach:(Ljava/util/function/Consumer;)V #76 = Utf8 java/util/Set #77 = Utf8 forEach #78 = Utf8 (Ljava/util/function/Consumer;)V #79 = Methodref #64.#80 // nl/sander/beejava/api/BeeSource.getMethods:()Ljava/util/Set; #80 = NameAndType #81:#68 // getMethods:()Ljava/util/Set; #81 = Utf8 getMethods #82 = InvokeDynamic #1:#70 // #1:accept:(Lnl/sander/beejava/Compiler;)Ljava/util/function/Consumer; #83 = Methodref #20.#84 // nl/sander/beejava/ConstantPoolEntryCreator.addThisClass:()Lnl/sander/beejava/constantpool/entry/ClassEntry; #84 = NameAndType #85:#86 // addThisClass:()Lnl/sander/beejava/constantpool/entry/ClassEntry; #85 = Utf8 addThisClass #86 = Utf8 ()Lnl/sander/beejava/constantpool/entry/ClassEntry; #87 = Methodref #29.#88 // nl/sander/beejava/CompiledClass.setThisClass:(Lnl/sander/beejava/constantpool/entry/ClassEntry;)V #88 = NameAndType #89:#90 // setThisClass:(Lnl/sander/beejava/constantpool/entry/ClassEntry;)V #89 = Utf8 setThisClass #90 = Utf8 (Lnl/sander/beejava/constantpool/entry/ClassEntry;)V #91 = String #92 // Code #92 = Utf8 Code #93 = Methodref #20.#94 // nl/sander/beejava/ConstantPoolEntryCreator.getOrCreateUtf8:(Ljava/lang/String;)Lnl/sander/beejava/constantpool/entry/Utf8Entry; #94 = NameAndType #95:#96 // getOrCreateUtf8:(Ljava/lang/String;)Lnl/sander/beejava/constantpool/entry/Utf8Entry; #95 = Utf8 getOrCreateUtf8 #96 = Utf8 (Ljava/lang/String;)Lnl/sander/beejava/constantpool/entry/Utf8Entry; #97 = Fieldref #11.#98 // nl/sander/beejava/Compiler.codeAttributeNameEntry:Lnl/sander/beejava/constantpool/entry/Utf8Entry; #98 = NameAndType #99:#100 // codeAttributeNameEntry:Lnl/sander/beejava/constantpool/entry/Utf8Entry; #99 = Utf8 codeAttributeNameEntry #100 = Utf8 Lnl/sander/beejava/constantpool/entry/Utf8Entry; #101 = Methodref #29.#102 // nl/sander/beejava/CompiledClass.addConstantPoolEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V #102 = NameAndType #103:#104 // addConstantPoolEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V #103 = Utf8 addConstantPoolEntry #104 = Utf8 (Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V #105 = Methodref #29.#106 // nl/sander/beejava/CompiledClass.getConstantTree:()Ljava/util/Set; #106 = NameAndType #107:#68 // getConstantTree:()Ljava/util/Set; #107 = Utf8 getConstantTree #108 = Methodref #7.#109 // nl/sander/beejava/ConstantPoolCreator.createConstantPool:(Ljava/util/Set;)Lnl/sander/beejava/constantpool/ConstantPool; #109 = NameAndType #41:#110 // createConstantPool:(Ljava/util/Set;)Lnl/sander/beejava/constantpool/ConstantPool; #110 = Utf8 (Ljava/util/Set;)Lnl/sander/beejava/constantpool/ConstantPool; #111 = InterfaceMethodref #74.#112 // java/util/Set.stream:()Ljava/util/stream/Stream; #112 = NameAndType #113:#114 // stream:()Ljava/util/stream/Stream; #113 = Utf8 stream #114 = Utf8 ()Ljava/util/stream/Stream; #115 = InvokeDynamic #2:#116 // #2:apply:(Lnl/sander/beejava/Compiler;)Ljava/util/function/Function; #116 = NameAndType #117:#118 // apply:(Lnl/sander/beejava/Compiler;)Ljava/util/function/Function; #117 = Utf8 apply #118 = Utf8 (Lnl/sander/beejava/Compiler;)Ljava/util/function/Function; #119 = InterfaceMethodref #120.#121 // java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream; #120 = Class #122 // java/util/stream/Stream #121 = NameAndType #123:#124 // map:(Ljava/util/function/Function;)Ljava/util/stream/Stream; #122 = Utf8 java/util/stream/Stream #123 = Utf8 map #124 = Utf8 (Ljava/util/function/Function;)Ljava/util/stream/Stream; #125 = Methodref #126.#127 // java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; #126 = Class #128 // java/util/Objects #127 = NameAndType #129:#130 // requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; #128 = Utf8 java/util/Objects #129 = Utf8 requireNonNull #130 = Utf8 (Ljava/lang/Object;)Ljava/lang/Object; #131 = InvokeDynamic #3:#132 // #3:accept:(Lnl/sander/beejava/CompiledClass;)Ljava/util/function/Consumer; #132 = NameAndType #71:#133 // accept:(Lnl/sander/beejava/CompiledClass;)Ljava/util/function/Consumer; #133 = Utf8 (Lnl/sander/beejava/CompiledClass;)Ljava/util/function/Consumer; #134 = InterfaceMethodref #120.#75 // java/util/stream/Stream.forEach:(Ljava/util/function/Consumer;)V #135 = InterfaceMethodref #74.#136 // java/util/Set.iterator:()Ljava/util/Iterator; #136 = NameAndType #137:#138 // iterator:()Ljava/util/Iterator; #137 = Utf8 iterator #138 = Utf8 ()Ljava/util/Iterator; #139 = InterfaceMethodref #140.#141 // java/util/Iterator.hasNext:()Z #140 = Class #142 // java/util/Iterator #141 = NameAndType #143:#144 // hasNext:()Z #142 = Utf8 java/util/Iterator #143 = Utf8 hasNext #144 = Utf8 ()Z #145 = InterfaceMethodref #140.#146 // java/util/Iterator.next:()Ljava/lang/Object; #146 = NameAndType #147:#148 // next:()Ljava/lang/Object; #147 = Utf8 next #148 = Utf8 ()Ljava/lang/Object; #149 = Class #150 // nl/sander/beejava/api/BeeMethod #150 = Utf8 nl/sander/beejava/api/BeeMethod #151 = Methodref #11.#152 // nl/sander/beejava/Compiler.createMethod:(Lnl/sander/beejava/CodeContainer;)Lnl/sander/beejava/classinfo/MethodInfo; #152 = NameAndType #153:#154 // createMethod:(Lnl/sander/beejava/CodeContainer;)Lnl/sander/beejava/classinfo/MethodInfo; #153 = Utf8 createMethod #154 = Utf8 (Lnl/sander/beejava/CodeContainer;)Lnl/sander/beejava/classinfo/MethodInfo; #155 = Methodref #29.#156 // nl/sander/beejava/CompiledClass.addMethod:(Lnl/sander/beejava/classinfo/MethodInfo;)V #156 = NameAndType #157:#158 // addMethod:(Lnl/sander/beejava/classinfo/MethodInfo;)V #157 = Utf8 addMethod #158 = Utf8 (Lnl/sander/beejava/classinfo/MethodInfo;)V #159 = Class #160 // nl/sander/beejava/classinfo/MethodInfo #160 = Utf8 nl/sander/beejava/classinfo/MethodInfo #161 = Methodref #162.#163 // nl/sander/beejava/CodeContainer.getName:()Ljava/lang/String; #162 = Class #164 // nl/sander/beejava/CodeContainer #163 = NameAndType #165:#166 // getName:()Ljava/lang/String; #164 = Utf8 nl/sander/beejava/CodeContainer #165 = Utf8 getName #166 = Utf8 ()Ljava/lang/String; #167 = Methodref #162.#168 // nl/sander/beejava/CodeContainer.getSignature:()Ljava/lang/String; #168 = NameAndType #169:#166 // getSignature:()Ljava/lang/String; #169 = Utf8 getSignature #170 = Methodref #159.#171 // nl/sander/beejava/classinfo/MethodInfo."":(Lnl/sander/beejava/constantpool/entry/Utf8Entry;Lnl/sander/beejava/constantpool/entry/Utf8Entry;)V #171 = NameAndType #5:#172 // "":(Lnl/sander/beejava/constantpool/entry/Utf8Entry;Lnl/sander/beejava/constantpool/entry/Utf8Entry;)V #172 = Utf8 (Lnl/sander/beejava/constantpool/entry/Utf8Entry;Lnl/sander/beejava/constantpool/entry/Utf8Entry;)V #173 = Methodref #162.#174 // nl/sander/beejava/CodeContainer.getAccessFlags:()Ljava/util/Set; #174 = NameAndType #175:#68 // getAccessFlags:()Ljava/util/Set; #175 = Utf8 getAccessFlags #176 = Methodref #159.#177 // nl/sander/beejava/classinfo/MethodInfo.addAccessFlags:(Ljava/util/Set;)Lnl/sander/beejava/classinfo/MethodInfo; #177 = NameAndType #178:#179 // addAccessFlags:(Ljava/util/Set;)Lnl/sander/beejava/classinfo/MethodInfo; #178 = Utf8 addAccessFlags #179 = Utf8 (Ljava/util/Set;)Lnl/sander/beejava/classinfo/MethodInfo; #180 = Methodref #181.#182 // nl/sander/beejava/MethodCodeCreator.createCodeAttribute:(Lnl/sander/beejava/constantpool/entry/Utf8Entry;Lnl/sander/beejava/CodeContainer;)Lnl/sander/beejava/classinfo/attributes/CodeAttribute; #181 = Class #183 // nl/sander/beejava/MethodCodeCreator #182 = NameAndType #184:#185 // createCodeAttribute:(Lnl/sander/beejava/constantpool/entry/Utf8Entry;Lnl/sander/beejava/CodeContainer;)Lnl/sander/beejava/classinfo/attributes/CodeAttribute; #183 = Utf8 nl/sander/beejava/MethodCodeCreator #184 = Utf8 createCodeAttribute #185 = Utf8 (Lnl/sander/beejava/constantpool/entry/Utf8Entry;Lnl/sander/beejava/CodeContainer;)Lnl/sander/beejava/classinfo/attributes/CodeAttribute; #186 = Methodref #159.#187 // nl/sander/beejava/classinfo/MethodInfo.addAttribute:(Lnl/sander/beejava/classinfo/attributes/Attribute;)Lnl/sander/beejava/classinfo/Info; #187 = NameAndType #188:#189 // addAttribute:(Lnl/sander/beejava/classinfo/attributes/Attribute;)Lnl/sander/beejava/classinfo/Info; #188 = Utf8 addAttribute #189 = Utf8 (Lnl/sander/beejava/classinfo/attributes/Attribute;)Lnl/sander/beejava/classinfo/Info; #190 = Methodref #162.#191 // nl/sander/beejava/CodeContainer.getCode:()Ljava/util/List; #191 = NameAndType #192:#193 // getCode:()Ljava/util/List; #192 = Utf8 getCode #193 = Utf8 ()Ljava/util/List; #194 = InvokeDynamic #4:#70 // #4:accept:(Lnl/sander/beejava/Compiler;)Ljava/util/function/Consumer; #195 = InterfaceMethodref #196.#75 // java/util/List.forEach:(Ljava/util/function/Consumer;)V #196 = Class #197 // java/util/List #197 = Utf8 java/util/List #198 = Methodref #199.#200 // nl/sander/beejava/api/CodeLine.hasMethodCall:()Z #199 = Class #201 // nl/sander/beejava/api/CodeLine #200 = NameAndType #202:#144 // hasMethodCall:()Z #201 = Utf8 nl/sander/beejava/api/CodeLine #202 = Utf8 hasMethodCall #203 = Methodref #20.#204 // nl/sander/beejava/ConstantPoolEntryCreator.getOrCreateMethodRefEntry:(Lnl/sander/beejava/api/CodeLine;)Lnl/sander/beejava/constantpool/entry/MethodRefEntry; #204 = NameAndType #205:#206 // getOrCreateMethodRefEntry:(Lnl/sander/beejava/api/CodeLine;)Lnl/sander/beejava/constantpool/entry/MethodRefEntry; #205 = Utf8 getOrCreateMethodRefEntry #206 = Utf8 (Lnl/sander/beejava/api/CodeLine;)Lnl/sander/beejava/constantpool/entry/MethodRefEntry; #207 = Methodref #199.#208 // nl/sander/beejava/api/CodeLine.setAssignedEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V #208 = NameAndType #209:#104 // setAssignedEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V #209 = Utf8 setAssignedEntry #210 = Methodref #199.#211 // nl/sander/beejava/api/CodeLine.hasRefToOwnField:()Z #211 = NameAndType #212:#144 // hasRefToOwnField:()Z #212 = Utf8 hasRefToOwnField #213 = Methodref #199.#214 // nl/sander/beejava/api/CodeLine.hasRefToExternalField:()Z #214 = NameAndType #215:#144 // hasRefToExternalField:()Z #215 = Utf8 hasRefToExternalField #216 = Methodref #20.#217 // nl/sander/beejava/ConstantPoolEntryCreator.getOrCreateFieldRefEntry:(Lnl/sander/beejava/api/CodeLine;)Lnl/sander/beejava/constantpool/entry/FieldRefEntry; #217 = NameAndType #218:#219 // getOrCreateFieldRefEntry:(Lnl/sander/beejava/api/CodeLine;)Lnl/sander/beejava/constantpool/entry/FieldRefEntry; #218 = Utf8 getOrCreateFieldRefEntry #219 = Utf8 (Lnl/sander/beejava/api/CodeLine;)Lnl/sander/beejava/constantpool/entry/FieldRefEntry; #220 = Methodref #199.#221 // nl/sander/beejava/api/CodeLine.hasConstValue:()Z #221 = NameAndType #222:#144 // hasConstValue:()Z #222 = Utf8 hasConstValue #223 = Methodref #20.#224 // nl/sander/beejava/ConstantPoolEntryCreator.getOrCreatePrimitiveEntry:(Lnl/sander/beejava/api/CodeLine;)Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry; #224 = NameAndType #225:#226 // getOrCreatePrimitiveEntry:(Lnl/sander/beejava/api/CodeLine;)Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry; #225 = Utf8 getOrCreatePrimitiveEntry #226 = Utf8 (Lnl/sander/beejava/api/CodeLine;)Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry; #227 = Utf8 LineNumberTable #228 = Utf8 LocalVariableTable #229 = Utf8 this #230 = Utf8 Lnl/sander/beejava/Compiler; #231 = Utf8 (Lnl/sander/beejava/api/BeeSource;)Lnl/sander/beejava/CompiledClass; #232 = Utf8 beSource #233 = Utf8 Lnl/sander/beejava/api/BeeSource; #234 = Utf8 method #235 = Utf8 Lnl/sander/beejava/api/BeeMethod; #236 = Utf8 StackMapTable #237 = Utf8 Lnl/sander/beejava/CodeContainer; #238 = Utf8 updateConstantPool #239 = Utf8 (Lnl/sander/beejava/CodeContainer;)V #240 = Utf8 codeContainer #241 = Utf8 (Lnl/sander/beejava/api/CodeLine;)V #242 = Utf8 methodRefEntry #243 = Utf8 Lnl/sander/beejava/constantpool/entry/MethodRefEntry; #244 = Utf8 fieldRefEntry #245 = Utf8 Lnl/sander/beejava/constantpool/entry/FieldRefEntry; #246 = Utf8 primitiveEntry #247 = Utf8 Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry; #248 = Utf8 codeline #249 = Utf8 Lnl/sander/beejava/api/CodeLine; #250 = Utf8 SourceFile #251 = Utf8 Compiler.java #252 = Utf8 BootstrapMethods #253 = MethodHandle 6:#254 // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; #254 = Methodref #255.#256 // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; #255 = Class #257 // java/lang/invoke/LambdaMetafactory #256 = NameAndType #258:#259 // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; #257 = Utf8 java/lang/invoke/LambdaMetafactory #258 = Utf8 metafactory #259 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; #260 = MethodType #261 // (Ljava/lang/Object;)V #261 = Utf8 (Ljava/lang/Object;)V #262 = MethodHandle 5:#263 // REF_invokeVirtual nl/sander/beejava/Compiler.updateConstantPool:(Lnl/sander/beejava/CodeContainer;)V #263 = Methodref #11.#264 // nl/sander/beejava/Compiler.updateConstantPool:(Lnl/sander/beejava/CodeContainer;)V #264 = NameAndType #238:#239 // updateConstantPool:(Lnl/sander/beejava/CodeContainer;)V #265 = MethodType #266 // (Lnl/sander/beejava/api/BeeConstructor;)V #266 = Utf8 (Lnl/sander/beejava/api/BeeConstructor;)V #267 = MethodType #268 // (Lnl/sander/beejava/api/BeeMethod;)V #268 = Utf8 (Lnl/sander/beejava/api/BeeMethod;)V #269 = MethodType #130 // (Ljava/lang/Object;)Ljava/lang/Object; #270 = MethodHandle 5:#151 // REF_invokeVirtual nl/sander/beejava/Compiler.createMethod:(Lnl/sander/beejava/CodeContainer;)Lnl/sander/beejava/classinfo/MethodInfo; #271 = MethodType #272 // (Lnl/sander/beejava/api/BeeConstructor;)Lnl/sander/beejava/classinfo/MethodInfo; #272 = Utf8 (Lnl/sander/beejava/api/BeeConstructor;)Lnl/sander/beejava/classinfo/MethodInfo; #273 = MethodHandle 5:#155 // REF_invokeVirtual nl/sander/beejava/CompiledClass.addMethod:(Lnl/sander/beejava/classinfo/MethodInfo;)V #274 = MethodType #158 // (Lnl/sander/beejava/classinfo/MethodInfo;)V #275 = MethodHandle 5:#276 // REF_invokeVirtual nl/sander/beejava/Compiler.updateConstantPool:(Lnl/sander/beejava/api/CodeLine;)V #276 = Methodref #11.#277 // nl/sander/beejava/Compiler.updateConstantPool:(Lnl/sander/beejava/api/CodeLine;)V #277 = NameAndType #238:#241 // updateConstantPool:(Lnl/sander/beejava/api/CodeLine;)V #278 = MethodType #241 // (Lnl/sander/beejava/api/CodeLine;)V #279 = Utf8 InnerClasses #280 = Class #281 // java/lang/invoke/MethodHandles$Lookup #281 = Utf8 java/lang/invoke/MethodHandles$Lookup #282 = Class #283 // java/lang/invoke/MethodHandles #283 = Utf8 java/lang/invoke/MethodHandles #284 = Utf8 Lookup { private final nl.sander.beejava.CompiledClass compiledClass; descriptor: Lnl/sander/beejava/CompiledClass; flags: (0x0012) ACC_PRIVATE, ACC_FINAL private final nl.sander.beejava.ConstantPoolEntryCreator constantPoolEntryCreator; descriptor: Lnl/sander/beejava/ConstantPoolEntryCreator; flags: (0x0012) ACC_PRIVATE, ACC_FINAL private final nl.sander.beejava.ConstantPoolCreator constantPoolCreator; descriptor: Lnl/sander/beejava/ConstantPoolCreator; flags: (0x0012) ACC_PRIVATE, ACC_FINAL private nl.sander.beejava.constantpool.entry.Utf8Entry codeAttributeNameEntry; descriptor: Lnl/sander/beejava/constantpool/entry/Utf8Entry; flags: (0x0002) ACC_PRIVATE public nl.sander.beejava.Compiler(nl.sander.beejava.CompiledClass); descriptor: (Lnl/sander/beejava/CompiledClass;)V flags: (0x0001) ACC_PUBLIC Code: stack=4, locals=2, args_size=2 0: aload_0 1: invokespecial #1 // Method java/lang/Object."":()V 4: aload_0 5: new #7 // class nl/sander/beejava/ConstantPoolCreator 8: dup 9: invokespecial #9 // Method nl/sander/beejava/ConstantPoolCreator."":()V 12: putfield #10 // Field constantPoolCreator:Lnl/sander/beejava/ConstantPoolCreator; 15: aload_0 16: aload_1 17: putfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 20: aload_0 21: new #20 // class nl/sander/beejava/ConstantPoolEntryCreator 24: dup 25: aload_1 26: invokespecial #22 // Method nl/sander/beejava/ConstantPoolEntryCreator."":(Lnl/sander/beejava/CompiledClass;)V 29: putfield #25 // Field constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; 32: return LineNumberTable: line 34: 0 line 25: 4 line 35: 15 line 36: 20 line 37: 32 LocalVariableTable: Start Length Slot Name Signature 0 33 0 this Lnl/sander/beejava/Compiler; 0 33 1 compiledClass Lnl/sander/beejava/CompiledClass; public static nl.sander.beejava.CompiledClass compile(nl.sander.beejava.api.BeeSource); descriptor: (Lnl/sander/beejava/api/BeeSource;)Lnl/sander/beejava/CompiledClass; flags: (0x0009) ACC_PUBLIC, ACC_STATIC Code: stack=5, locals=1, args_size=1 0: new #11 // class nl/sander/beejava/Compiler 3: dup 4: new #29 // class nl/sander/beejava/CompiledClass 7: dup 8: aload_0 9: invokespecial #31 // Method nl/sander/beejava/CompiledClass."":(Lnl/sander/beejava/api/BeeSource;)V 12: invokespecial #34 // Method "":(Lnl/sander/beejava/CompiledClass;)V 15: invokevirtual #35 // Method compile:()Lnl/sander/beejava/CompiledClass; 18: areturn LineNumberTable: line 46: 0 LocalVariableTable: Start Length Slot Name Signature 0 19 0 beSource Lnl/sander/beejava/api/BeeSource; public nl.sander.beejava.CompiledClass compile(); descriptor: ()Lnl/sander/beejava/CompiledClass; flags: (0x0001) ACC_PUBLIC Code: stack=2, locals=1, args_size=1 0: aload_0 1: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 4: aload_0 5: invokevirtual #39 // Method createConstantPool:()Lnl/sander/beejava/constantpool/ConstantPool; 8: invokevirtual #43 // Method nl/sander/beejava/CompiledClass.setConstantPool:(Lnl/sander/beejava/constantpool/ConstantPool;)V 11: aload_0 12: getfield #25 // Field constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; 15: invokevirtual #47 // Method nl/sander/beejava/ConstantPoolEntryCreator.addInterfaces:()V 18: aload_0 19: getfield #25 // Field constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; 22: invokevirtual #50 // Method nl/sander/beejava/ConstantPoolEntryCreator.addFields:()V 25: aload_0 26: invokevirtual #53 // Method addConstructors:()V 29: aload_0 30: invokevirtual #56 // Method addMethods:()V 33: aload_0 34: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 37: areturn LineNumberTable: line 53: 0 line 55: 11 line 56: 18 line 57: 25 line 58: 29 line 60: 33 LocalVariableTable: Start Length Slot Name Signature 0 38 0 this Lnl/sander/beejava/Compiler; private nl.sander.beejava.constantpool.ConstantPool createConstantPool(); descriptor: ()Lnl/sander/beejava/constantpool/ConstantPool; flags: (0x0002) ACC_PRIVATE Code: stack=3, locals=1, args_size=1 0: aload_0 1: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 4: invokevirtual #59 // Method nl/sander/beejava/CompiledClass.getSource:()Lnl/sander/beejava/api/BeeSource; 7: invokevirtual #63 // Method nl/sander/beejava/api/BeeSource.getConstructors:()Ljava/util/Set; 10: aload_0 11: invokedynamic #69, 0 // InvokeDynamic #0:accept:(Lnl/sander/beejava/Compiler;)Ljava/util/function/Consumer; 16: invokeinterface #73, 2 // InterfaceMethod java/util/Set.forEach:(Ljava/util/function/Consumer;)V 21: aload_0 22: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 25: invokevirtual #59 // Method nl/sander/beejava/CompiledClass.getSource:()Lnl/sander/beejava/api/BeeSource; 28: invokevirtual #79 // Method nl/sander/beejava/api/BeeSource.getMethods:()Ljava/util/Set; 31: aload_0 32: invokedynamic #82, 0 // InvokeDynamic #1:accept:(Lnl/sander/beejava/Compiler;)Ljava/util/function/Consumer; 37: invokeinterface #73, 2 // InterfaceMethod java/util/Set.forEach:(Ljava/util/function/Consumer;)V 42: aload_0 43: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 46: aload_0 47: getfield #25 // Field constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; 50: invokevirtual #83 // Method nl/sander/beejava/ConstantPoolEntryCreator.addThisClass:()Lnl/sander/beejava/constantpool/entry/ClassEntry; 53: invokevirtual #87 // Method nl/sander/beejava/CompiledClass.setThisClass:(Lnl/sander/beejava/constantpool/entry/ClassEntry;)V 56: aload_0 57: aload_0 58: getfield #25 // Field constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; 61: ldc #91 // String Code 63: invokevirtual #93 // Method nl/sander/beejava/ConstantPoolEntryCreator.getOrCreateUtf8:(Ljava/lang/String;)Lnl/sander/beejava/constantpool/entry/Utf8Entry; 66: putfield #97 // Field codeAttributeNameEntry:Lnl/sander/beejava/constantpool/entry/Utf8Entry; 69: aload_0 70: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 73: aload_0 74: getfield #97 // Field codeAttributeNameEntry:Lnl/sander/beejava/constantpool/entry/Utf8Entry; 77: invokevirtual #101 // Method nl/sander/beejava/CompiledClass.addConstantPoolEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V 80: aload_0 81: getfield #10 // Field constantPoolCreator:Lnl/sander/beejava/ConstantPoolCreator; 84: aload_0 85: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 88: invokevirtual #105 // Method nl/sander/beejava/CompiledClass.getConstantTree:()Ljava/util/Set; 91: invokevirtual #108 // Method nl/sander/beejava/ConstantPoolCreator.createConstantPool:(Ljava/util/Set;)Lnl/sander/beejava/constantpool/ConstantPool; 94: areturn LineNumberTable: line 64: 0 line 65: 21 line 67: 42 line 69: 56 line 70: 69 line 72: 80 LocalVariableTable: Start Length Slot Name Signature 0 95 0 this Lnl/sander/beejava/Compiler; public void addConstructors(); descriptor: ()V flags: (0x0001) ACC_PUBLIC Code: stack=3, locals=1, args_size=1 0: aload_0 1: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 4: invokevirtual #59 // Method nl/sander/beejava/CompiledClass.getSource:()Lnl/sander/beejava/api/BeeSource; 7: invokevirtual #63 // Method nl/sander/beejava/api/BeeSource.getConstructors:()Ljava/util/Set; 10: invokeinterface #111, 1 // InterfaceMethod java/util/Set.stream:()Ljava/util/stream/Stream; 15: aload_0 16: invokedynamic #115, 0 // InvokeDynamic #2:apply:(Lnl/sander/beejava/Compiler;)Ljava/util/function/Function; 21: invokeinterface #119, 2 // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream; 26: aload_0 27: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 30: dup 31: invokestatic #125 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; 34: pop 35: invokedynamic #131, 0 // InvokeDynamic #3:accept:(Lnl/sander/beejava/CompiledClass;)Ljava/util/function/Consumer; 40: invokeinterface #134, 2 // InterfaceMethod java/util/stream/Stream.forEach:(Ljava/util/function/Consumer;)V 45: return LineNumberTable: line 76: 0 line 77: 21 line 78: 31 line 79: 45 LocalVariableTable: Start Length Slot Name Signature 0 46 0 this Lnl/sander/beejava/Compiler; public void addMethods(); descriptor: ()V flags: (0x0001) ACC_PUBLIC Code: stack=3, locals=3, args_size=1 0: aload_0 1: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 4: aload_0 5: getfield #97 // Field codeAttributeNameEntry:Lnl/sander/beejava/constantpool/entry/Utf8Entry; 8: invokevirtual #101 // Method nl/sander/beejava/CompiledClass.addConstantPoolEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V 11: aload_0 12: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 15: invokevirtual #59 // Method nl/sander/beejava/CompiledClass.getSource:()Lnl/sander/beejava/api/BeeSource; 18: invokevirtual #79 // Method nl/sander/beejava/api/BeeSource.getMethods:()Ljava/util/Set; 21: invokeinterface #135, 1 // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator; 26: astore_1 27: aload_1 28: invokeinterface #139, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 33: ifeq 61 36: aload_1 37: invokeinterface #145, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 42: checkcast #149 // class nl/sander/beejava/api/BeeMethod 45: astore_2 46: aload_0 47: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 50: aload_0 51: aload_2 52: invokevirtual #151 // Method createMethod:(Lnl/sander/beejava/CodeContainer;)Lnl/sander/beejava/classinfo/MethodInfo; 55: invokevirtual #155 // Method nl/sander/beejava/CompiledClass.addMethod:(Lnl/sander/beejava/classinfo/MethodInfo;)V 58: goto 27 61: return LineNumberTable: line 86: 0 line 87: 11 line 88: 46 line 89: 58 line 94: 61 LocalVariableTable: Start Length Slot Name Signature 46 12 2 method Lnl/sander/beejava/api/BeeMethod; 0 62 0 this Lnl/sander/beejava/Compiler; StackMapTable: number_of_entries = 2 frame_type = 252 /* append */ offset_delta = 27 locals = [ class java/util/Iterator ] frame_type = 250 /* chop */ offset_delta = 33 private nl.sander.beejava.classinfo.MethodInfo createMethod(nl.sander.beejava.api.CodeContainer); descriptor: (Lnl/sander/beejava/CodeContainer;)Lnl/sander/beejava/classinfo/MethodInfo; flags: (0x0002) ACC_PRIVATE Code: stack=5, locals=2, args_size=2 0: new #159 // class nl/sander/beejava/classinfo/MethodInfo 3: dup 4: aload_0 5: getfield #25 // Field constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; 8: aload_1 9: invokevirtual #161 // Method nl/sander/beejava/CodeContainer.getName:()Ljava/lang/String; 12: invokevirtual #93 // Method nl/sander/beejava/ConstantPoolEntryCreator.getOrCreateUtf8:(Ljava/lang/String;)Lnl/sander/beejava/constantpool/entry/Utf8Entry; 15: aload_0 16: getfield #25 // Field constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; 19: aload_1 20: invokevirtual #167 // Method nl/sander/beejava/CodeContainer.getSignature:()Ljava/lang/String; 23: invokevirtual #93 // Method nl/sander/beejava/ConstantPoolEntryCreator.getOrCreateUtf8:(Ljava/lang/String;)Lnl/sander/beejava/constantpool/entry/Utf8Entry; 26: invokespecial #170 // Method nl/sander/beejava/classinfo/MethodInfo."":(Lnl/sander/beejava/constantpool/entry/Utf8Entry;Lnl/sander/beejava/constantpool/entry/Utf8Entry;)V 29: aload_1 30: invokevirtual #173 // Method nl/sander/beejava/CodeContainer.getAccessFlags:()Ljava/util/Set; 33: invokevirtual #176 // Method nl/sander/beejava/classinfo/MethodInfo.addAccessFlags:(Ljava/util/Set;)Lnl/sander/beejava/classinfo/MethodInfo; 36: aload_0 37: getfield #97 // Field codeAttributeNameEntry:Lnl/sander/beejava/constantpool/entry/Utf8Entry; 40: aload_1 41: invokestatic #180 // Method nl/sander/beejava/MethodCodeCreator.createCodeAttribute:(Lnl/sander/beejava/constantpool/entry/Utf8Entry;Lnl/sander/beejava/CodeContainer;)Lnl/sander/beejava/classinfo/attributes/CodeAttribute; 44: invokevirtual #186 // Method nl/sander/beejava/classinfo/MethodInfo.addAttribute:(Lnl/sander/beejava/classinfo/attributes/Attribute;)Lnl/sander/beejava/classinfo/Info; 47: checkcast #159 // class nl/sander/beejava/classinfo/MethodInfo 50: areturn LineNumberTable: line 101: 0 line 102: 9 line 103: 20 line 104: 30 line 105: 41 line 101: 50 LocalVariableTable: Start Length Slot Name Signature 0 51 0 this Lnl/sander/beejava/Compiler; 0 51 1 method Lnl/sander/beejava/CodeContainer; private void updateConstantPool(nl.sander.beejava.api.CodeContainer); descriptor: (Lnl/sander/beejava/CodeContainer;)V flags: (0x0002) ACC_PRIVATE Code: stack=3, locals=2, args_size=2 0: aload_0 1: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 4: aload_0 5: getfield #25 // Field constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; 8: aload_1 9: invokevirtual #161 // Method nl/sander/beejava/CodeContainer.getName:()Ljava/lang/String; 12: invokevirtual #93 // Method nl/sander/beejava/ConstantPoolEntryCreator.getOrCreateUtf8:(Ljava/lang/String;)Lnl/sander/beejava/constantpool/entry/Utf8Entry; 15: invokevirtual #101 // Method nl/sander/beejava/CompiledClass.addConstantPoolEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V 18: aload_0 19: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 22: aload_0 23: getfield #25 // Field constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; 26: aload_1 27: invokevirtual #167 // Method nl/sander/beejava/CodeContainer.getSignature:()Ljava/lang/String; 30: invokevirtual #93 // Method nl/sander/beejava/ConstantPoolEntryCreator.getOrCreateUtf8:(Ljava/lang/String;)Lnl/sander/beejava/constantpool/entry/Utf8Entry; 33: invokevirtual #101 // Method nl/sander/beejava/CompiledClass.addConstantPoolEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V 36: aload_1 37: invokevirtual #190 // Method nl/sander/beejava/CodeContainer.getCode:()Ljava/util/List; 40: aload_0 41: invokedynamic #194, 0 // InvokeDynamic #4:accept:(Lnl/sander/beejava/Compiler;)Ljava/util/function/Consumer; 46: invokeinterface #195, 2 // InterfaceMethod java/util/List.forEach:(Ljava/util/function/Consumer;)V 51: return LineNumberTable: line 112: 0 line 113: 18 line 114: 36 line 115: 51 LocalVariableTable: Start Length Slot Name Signature 0 52 0 this Lnl/sander/beejava/Compiler; 0 52 1 codeContainer Lnl/sander/beejava/CodeContainer; private void updateConstantPool(nl.sander.beejava.api.CodeLine); descriptor: (Lnl/sander/beejava/api/CodeLine;)V flags: (0x0002) ACC_PRIVATE Code: stack=2, locals=3, args_size=2 0: aload_1 1: invokevirtual #198 // Method nl/sander/beejava/api/CodeLine.hasMethodCall:()Z 4: ifeq 29 7: aload_0 8: getfield #25 // Field constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; 11: aload_1 12: invokevirtual #203 // Method nl/sander/beejava/ConstantPoolEntryCreator.getOrCreateMethodRefEntry:(Lnl/sander/beejava/api/CodeLine;)Lnl/sander/beejava/constantpool/entry/MethodRefEntry; 15: astore_2 16: aload_1 17: aload_2 18: invokevirtual #207 // Method nl/sander/beejava/api/CodeLine.setAssignedEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V 21: aload_0 22: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 25: aload_2 26: invokevirtual #101 // Method nl/sander/beejava/CompiledClass.addConstantPoolEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V 29: aload_1 30: invokevirtual #210 // Method nl/sander/beejava/api/CodeLine.hasRefToOwnField:()Z 33: ifne 43 36: aload_1 37: invokevirtual #213 // Method nl/sander/beejava/api/CodeLine.hasRefToExternalField:()Z 40: ifeq 65 43: aload_0 44: getfield #25 // Field constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; 47: aload_1 48: invokevirtual #216 // Method nl/sander/beejava/ConstantPoolEntryCreator.getOrCreateFieldRefEntry:(Lnl/sander/beejava/api/CodeLine;)Lnl/sander/beejava/constantpool/entry/FieldRefEntry; 51: astore_2 52: aload_1 53: aload_2 54: invokevirtual #207 // Method nl/sander/beejava/api/CodeLine.setAssignedEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V 57: aload_0 58: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 61: aload_2 62: invokevirtual #101 // Method nl/sander/beejava/CompiledClass.addConstantPoolEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V 65: aload_1 66: invokevirtual #220 // Method nl/sander/beejava/api/CodeLine.hasConstValue:()Z 69: ifeq 94 72: aload_0 73: getfield #25 // Field constantPoolEntryCreator:Lnl/sander/beejava/ConstantPoolEntryCreator; 76: aload_1 77: invokevirtual #223 // Method nl/sander/beejava/ConstantPoolEntryCreator.getOrCreatePrimitiveEntry:(Lnl/sander/beejava/api/CodeLine;)Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry; 80: astore_2 81: aload_1 82: aload_2 83: invokevirtual #207 // Method nl/sander/beejava/api/CodeLine.setAssignedEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V 86: aload_0 87: getfield #16 // Field compiledClass:Lnl/sander/beejava/CompiledClass; 90: aload_2 91: invokevirtual #101 // Method nl/sander/beejava/CompiledClass.addConstantPoolEntry:(Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry;)V 94: return LineNumberTable: line 127: 0 line 128: 7 line 129: 16 line 130: 21 line 133: 29 line 134: 43 line 135: 52 line 136: 57 line 139: 65 line 140: 72 line 141: 81 line 142: 86 line 144: 94 LocalVariableTable: Start Length Slot Name Signature 16 13 2 methodRefEntry Lnl/sander/beejava/constantpool/entry/MethodRefEntry; 52 13 2 fieldRefEntry Lnl/sander/beejava/constantpool/entry/FieldRefEntry; 81 13 2 primitiveEntry Lnl/sander/beejava/constantpool/entry/ConstantPoolEntry; 0 95 0 this Lnl/sander/beejava/Compiler; 0 95 1 codeline Lnl/sander/beejava/api/CodeLine; StackMapTable: number_of_entries = 4 frame_type = 29 /* same */ frame_type = 13 /* same */ frame_type = 21 /* same */ frame_type = 28 /* same */ } SourceFile: "Compiler.java" BootstrapMethods: 0: #253 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method arguments: #260 (Ljava/lang/Object;)V #262 REF_invokeVirtual nl/sander/beejava/Compiler.updateConstantPool:(Lnl/sander/beejava/CodeContainer;)V #265 (Lnl/sander/beejava/api/BeeConstructor;)V 1: #253 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method arguments: #260 (Ljava/lang/Object;)V #262 REF_invokeVirtual nl/sander/beejava/Compiler.updateConstantPool:(Lnl/sander/beejava/CodeContainer;)V #267 (Lnl/sander/beejava/api/BeeMethod;)V 2: #253 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method arguments: #269 (Ljava/lang/Object;)Ljava/lang/Object; #270 REF_invokeVirtual nl/sander/beejava/Compiler.createMethod:(Lnl/sander/beejava/CodeContainer;)Lnl/sander/beejava/classinfo/MethodInfo; #271 (Lnl/sander/beejava/api/BeeConstructor;)Lnl/sander/beejava/classinfo/MethodInfo; 3: #253 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method arguments: #260 (Ljava/lang/Object;)V #273 REF_invokeVirtual nl/sander/beejava/CompiledClass.addMethod:(Lnl/sander/beejava/classinfo/MethodInfo;)V #274 (Lnl/sander/beejava/classinfo/MethodInfo;)V 4: #253 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method arguments: #260 (Ljava/lang/Object;)V #275 REF_invokeVirtual nl/sander/beejava/Compiler.updateConstantPool:(Lnl/sander/beejava/api/CodeLine;)V #278 (Lnl/sander/beejava/api/CodeLine;)V InnerClasses: public static final #284= #280 of #282; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles