?P      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO!(c) Christian Gram Kalhauge, 2018MITkalhuage@cs.ucla.eduSafe&'068;=FQTV@;A deep reference points to something that itself is staged.5A reference is a choice between an index and a value. An index into the constant pool.6The basic part of the stage system is the choice. The 3 chooses between two types depending on the stage.Any data structure in the  stage, is easier to read.]Any data structure that is in the low stage should be serializable using the binary library.!(c) Christian Gram Kalhauge, 2018MITkalhuage@cs.ucla.eduNone0D Derives the P, Q, R, and S from something that is Staged$Derives the bases of a list of names  Derives the P, Q, R, and S from something that is Staged  !(c) Christian Gram Kalhauge, 2018MITkalhuage@cs.ucla.eduSafe68IQA name and a typeField DescriptorMethod Descriptor The JVM typesThe Jvm Primitive Types& A class name)NWrapper method that converts a string representation of a class into a class.*:Takes the dot representation and converts it into a class."  !"#$%&'()*+"&'()* !"#$%+    !"#$%&'(!(c) Christian Gram Kalhauge, 2017MITkalhuage@cs.ucla.eduNone3KVXSA BitSet using a 16 bit wordT0A sized bytestring using a 16 bit word as lengthU0A sized bytestring using a 32 bit word as lengthV*A sized list using a 16 bit word as lengthWA bit set of size wZAn Enumish value, all maps to a number, but not all integers maps to a enumsish value. There is no guarantee that the integers will be subsequent.[yThe only needed implementation is a list of integer-enum pairs in ascending order, corresponding to their integer value.^A byte string with a size w.a^SizedList is a binary type, that reads a list of elements. It first reads a length N of type w and then N items of type a.dGet the size of the sized list.e!Get the size of a SizedByteStringf(Convert a Sized bytestring to Utf8 Text.h*Convert a Sized bytestring from Utf8 Text.i$Takes the third element of a triple.STUVWXYZ[\]^_`abcdefghiabcd^_`eVUThfgWXYZ[\]SiWXYZ[\]^_`abc!(c) Christian Gram Kalhauge, 2017MITkalhuage@cs.ucla.eduNone 068;=>?QVhK }}2 is something that can exist in the constant pool.Since version 52.0Since version 52.01The union type over the different method handles.JIn some cases we can both point to interface methods and regular methods.2An interface method, which is a class in a method.A field id in a classA method id in a class. Anything pointing inside a class'A constant is a multi word item in the  ConstantPoolL. Each of the constructors are pretty much self-explanatory from the types.)Hack that returns the name of a constant. Some of the Cs take up more space in the constant pool than other. Notice that  and  MethodTypeF is not of size 32, but is still awarded value 1. This is due to an  Hhttp://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4.5 inconsistency in JVM.1A constant pool value in javaQ&'(}~123456789Q}~123456789&'(}~123456789!(c) Christian Gram Kalhauge, 2018MITkalhuage@cs.ucla.eduNoneFQTVnLS@label the current position in the class-file, good for debugging IJKLMNOPQRS IJKLRSOPQMNIJKLMNOPQRS!(c) Christian Gram Kalhauge, 2018MITkalhuage@cs.ucla.eduNone 036;<=KNQVu[A pool access error_A ConstantPool is just an IntMap. A IntMap is used, because constants are accessed using their byte-offset, and sometimes the offset depends on the constant size. See .bCreates an empty constant poolc&Access a constant in the constant poold;Append a constant to the constant pool, and get the offset. [\]^_`abcd _`acdb[\]^[\]^_`a!(c) Christian Gram Kalhauge, 2018MITkalhuage@cs.ucla.eduNone "#068;<=N$taaload baload ...uaastore bastore ...waload_0, bload_2, iload 5 ...xaload, bload ...yiadd ...zineg ...{8Exclusively on int and long, identified by the word-size|$Only works on ints, increment local 1, with 2}Only valid on different typesCompare two floating values, 1 indicates if greater-than, (2 is if float or double should be used.acompare with 0 if #2 is False, and two ints from the stack if True. the last value is the offsetPcheck if two objects are equal, or not equal. If #2 is True, compare with null.a table switch has 2 values a  `default` and a a lookup switch has a  `default` value and a list of pairs.True => Enter, False => ExitCreate a new multi array of  1 and with 22 dimensions ^ This might point to an array type.Cast from Int to a smaller type>Cast from any to any arithmetic type. Cannot be the same type.1TA Wrapper around CConstant.Variable since 52.0Variable since 52.0Should be a positive numberUfA Long relative reference. The only reason this exist because the signed nature of int, looses a bit.VCA short relative bytecode ref is defined in correspondence with theqThe byte code instruction is mostly used to succinctly read and write an bytecode instruction from a bytestring./The offset map, maps offset to instruction ids.jA ByteCode reference is either byte code offset in the low stage, and a byte code index in the high stateThe index of the byte code.The offset in the byte codeByteCode is a newtype wrapper around a list of ByteCode instructions. if the ByteCode is in the Low stage then the byte code instructions are annotated with the byte code offsets. Given an $ turn a offset into a bytecode index Given an $ turn a offset into a bytecode index%Given low byte code we can create an   Given an $ turn a offset into a bytecode index -Return the bytecode offset from the bytecode.sv{tuwxyz|}~         stuvwxyz{|}~ s%tuvwxyz{|}~  !(c) Christian Gram Kalhauge, 2017MITkalhuage@cs.ucla.eduNone 068;=V JAn Attribute, simply contains of a reference to a name and contains info.(Maybe return the first element of a list7A small helper function to extract the info as a lazy .(A class-type that describes a data-type a0 as an Attribute. Most notable it provides the = method that enables converting an Attribute to a data-type a.>The name of an attribute. This is used to lookup an attribute.(Create a type dependent on another type b", used for accessing the correct  in .:A list of attributes and described by the expected values.%Generate an attribute in a low stage .WGenerate an attribute in the O monadXGenerate an attribute in the O monadGiven a Y structure f7, and a function that can calculate a monoid given an * calculate the monoid over all attributes. !(c) Christian Gram Kalhauge, 2018MITkalhuage@cs.ucla.eduNone 068;=Vc&The types info of the stack map frame.An stack map frame typeAn stack map frameA delta offsetHAn Exceptions attribute is a list of references into the constant pool. is an Attribute. Last IndexDelta This Index Last Index Current IndexDelta  !(c) Christian Gram Kalhauge, 2018MITkalhuage@cs.ucla.eduNone068;= !(c) Christian Gram Kalhauge, 2018MITkalhuage@cs.ucla.eduNone068;=The / is just a mapping from offsets to linenumbers.%Returns the line number of an offset.jReturns the line number of an offset. Helper function that also does the conversion from integral to int.  Signature is an Attribute. !(c) Christian Gram Kalhauge, 2017MITkalhuage@cs.ucla.eduNone068;=)HAn Exceptions attribute is a list of references into the constant pool. is an Attribute.!(c) Christian Gram Kalhauge, 2017MITkalhuage@cs.ucla.eduNone068;= 8A constant value is just a index into the constant pool.$  is an Attribute. !" !" !"!(c) Christian Gram Kalhauge, 2018MITkalhuage@cs.ucla.eduNone "#068;=6Inclusive program counter into code7Exclusive program counter into code8A program counter into code indicating the handler.:(Code contains the actual byte-code. The im type parameter is added to allow indicate the two stages of the code file, before and after access to the  ConstantPool. i should be either  or Deref.A%Extracts a list of bytecode operationB(Extracts a list of bytecode instructionsC*Returns the StackMapTable attribute if anyF: is an Attribute./0123456789:;<=>?@ABC:;<=>?@/0123456789CAB/0123456789:;<=>?@!(c) Christian Gram Kalhauge, 2017MITkalhuage@cs.ucla.eduNone068;=dA bootstraped methods.h"Is a list of bootstrapped methods.kThe methods as listnh is an Attribute.defghijkhijkdefgdefghij!(c) Christian Gram Kalhauge, 2017MITkalhuage@cs.ucla.eduNone68;=Ṽ :hh: !(c) Christian Gram Kalhauge, 2017MITkalhuage@cs.ucla.eduNone68РAccess flags for the Access flags for the Access flags for the The Z mapping of the The Z mapping of the The Z mapping of the $$   !(c) Christian Gram Kalhauge, 2017MITkalhuage@cs.ucla.eduNone068;=ێ*A Method in the class-file, as described  Fhttp://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.6here.3Unpack the BitSet and get the AccessFlags as a Set. Fetch the :F attribute, if any. There can only be one code attribute in a method. Fetch the D attribute. There can only be one exceptions attribute in a method. Fetches the s attribute, but turns it into an list of exceptions. If no exceptions field where found the empty list is returned Fetches the  attribute, if any.!(c) Christian Gram Kalhauge, 2017MITkalhuage@cs.ucla.eduNone068;=)A Field in the class-file, as described  Fhttp://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.5here.Get the set of access flags Fetch the   attribute. Fetches the  attribute, if any.!(c) Christian Gram Kalhauge, 2017MITkalhuage@cs.ucla.eduNone068;=jA  as described  =http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.htmlhere.Get the set of access flagsGet a list of s of a ClassFile.Get a list of s of a ClassFile.Z Fetch the hY attribute. There can only one bootstrap methods per class, but there might not be one.                None6<KQV 1MAn error while reading a class file is represented using this data structure2 Decode a class file from a lazy [W. Ensures that the lazy bytestring is read to EOF, and thereby closing any open files.3+Create a lazy byte string from a class file4%Changed the stage from Index to Deref5:Devolve a ClassFile from High to Low. This might make the a contain invalid attributes, since we can't read all attributes. If this this is a problem see 6.6 Devolve a  form  to , while maintaining the class pool of the original class file. This is useful if we care that unread attributes are still valid. This can cause untended bloat as we do not want to throw away anything in the program7 Top level command that combines \ and K.8 Top level command that combines L and ].9 Top level command that combines L and ]K, but tries to retain exact syntax of a previous run using the class pool.;hUntie the constant pool, this requires a special operation as the constant pool might reference itself.+,-/.0123456789:;<=>7892345601:;+>,-./=<+^,-./0_1`abc!(c) Christian Gram Kalhauge, 2017MITkalhuage@cs.ucla.eduNone  !"#$%&'()*+STUVWXYZ[\]^_`abcdefghi}~123456789IJKLMNOPQRS[\]^_`abcdsv{tuwxyz|}~      :h     +,-/.0123456789:;<=>Safedefghijkl !"#$%&'()*+,-.//012234456789:;<=>?@ABCDDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsttuvwxyzz{||}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnnopqqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                              ! " # $ %&&'()*+,-./012344567889:;<==>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeffghiijklmnopqrstuvwxyz{|}~7      !""#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMHNOPQR S THUVWXYZ[Z\!%]^_`abcdefghi'jvm-binary-0.1.0-JJ8Rr7ERir79pQaBJvdiXVLanguage.JVM.ByteCodeLanguage.JVM.StageLanguage.JVM.THLanguage.JVM.TypeLanguage.JVM.UtilsLanguage.JVM.ConstantLanguage.JVM.StagedLanguage.JVM.ConstantPoolLanguage.JVM.Attribute.Base$Language.JVM.Attribute.StackMapTable Language.JVM.Attribute.Signature&Language.JVM.Attribute.LineNumberTable!Language.JVM.Attribute.Exceptions$Language.JVM.Attribute.ConstantValueLanguage.JVM.Attribute.Code'Language.JVM.Attribute.BootstrapMethodsLanguage.JVM.AccessFlagLanguage.JVM.MethodLanguage.JVM.FieldLanguage.JVM.ClassFileLanguage.JVM.ClassFileReaderStringData.ByteString.Lazy ByteStringLanguage.JVM.AttributeField ClassFileMethod Language.JVMPaths_jvm_binarybinary-0.8.5.1Data.Binary.Get ByteOffsetDeepRefRefIndexChoiceHighLow deriveBase deriveBasesderiveBaseWithBinary TypeParsefromText parseTexttoText NameAndTypentName ntDescriptorFieldDescriptorfieldDescriptorTypeMethodDescriptormethodDescriptorArgumentsmethodDescriptorReturnTypeJTypeJTBaseJTClassJTArray JBaseTypeJTByteJTCharJTDoubleJTFloatJTIntJTLongJTShort JTBoolean ClassNameclassNameAsTextstrClsdotCls<:>$fIsStringClassName$fShowClassName$fIsStringJType$fIsStringMethodDescriptor$fIsStringFieldDescriptor$fIsStringNameAndType$fTypeParseNameAndType$fTypeParseFieldDescriptor$fTypeParseMethodDescriptor$fTypeParseJType $fEqClassName$fOrdClassName$fGenericClassName$fNFDataClassName$fShowJBaseType $fEqJBaseType$fOrdJBaseType$fGenericJBaseType$fNFDataJBaseType $fShowJType $fEqJType $fOrdJType$fGenericJType $fNFDataJType$fShowMethodDescriptor$fOrdMethodDescriptor$fEqMethodDescriptor$fGenericMethodDescriptor$fNFDataMethodDescriptor$fShowFieldDescriptor$fOrdFieldDescriptor$fEqFieldDescriptor$fGenericFieldDescriptor$fNFDataFieldDescriptor$fShowNameAndType$fEqNameAndType$fOrdNameAndType$fGenericNameAndType$fNFDataNameAndTypeBitSet16SizedByteString16SizedByteString32 SizedList16BitSettoSetEnumishinOrder fromEnumish toEnumishSizedByteStringunSizedByteString SizedList unSizedListlistSizebyteStringSizesizedByteStringToText tryDecodesizedByteStringFromTexttrd$fBinarySizedList$fTraversableSizedList$fFoldableSizedList$fBinarySizedByteString$fBinaryBitSet$fShowSizedList $fEqSizedList$fFunctorSizedList$fNFDataSizedList$fOrdSizedList$fShowSizedByteString$fEqSizedByteString$fNFDataSizedByteString$fOrdSizedByteString$fIsStringSizedByteString $fOrdBitSet $fShowBitSet $fEqBitSet$fNFDataBitSet Referenceable fromConsttoConst InvokeDynamicinvokeDynamicAttrIndexinvokeDynamicMethodMethodHandleInterfacemethodHandleInterfaceRefMethodHandleMethodMHInvokeVirtualMHInvokeStaticMHInvokeSpecialMHNewInvokeSpecialMethodHandleFieldKind MHGetField MHGetStatic MHPutField MHPutStaticMethodHandleFieldmethodHandleFieldKindmethodHandleFieldRef MethodHandleMHFieldMHMethod MHInterfaceAbsVariableMethodIdVInterfaceMethodId VMethodIdFieldIdMethodIdAbsInterfaceMethodIdinterfaceMethodId AbsFieldId AbsMethodIdInClass inClassName inClassIdConstantCStringCIntegerCFloatCLongCDouble CClassRef CStringRef CFieldRef CMethodRefCInterfaceMethodRef CNameAndType CMethodHandle CMethodTypeCInvokeDynamic typeToStr constantSize$fIsStringMethodId$fIsStringFieldId$fBinaryMethodHandle$fBinaryConstant"$fReferenceableAbsVariableMethodId#$fReferenceableAbsInterfaceMethodId$fReferenceableMethodHandle$fReferenceableInvokeDynamic$fReferenceableInClass$fReferenceableInClass0$fReferenceableFieldId$fReferenceableMethodId$fReferenceableFieldDescriptor$fReferenceableMethodDescriptor$fReferenceableClassName$fReferenceableByteString$fReferenceableText$fReferenceableNameAndType$fReferenceableConstant $fEqMethodId$fShowMethodId$fNFDataMethodId $fOrdMethodId$fGenericMethodId $fEqFieldId $fShowFieldId$fNFDataFieldId $fOrdFieldId$fGenericFieldId$fEqMethodHandleFieldKind$fShowMethodHandleFieldKind$fNFDataMethodHandleFieldKind$fGenericMethodHandleFieldKind$fOrdMethodHandleFieldKind$fNFDataConstant$fGenericConstant $fEqConstant$fShowConstant $fOrdConstant$fNFDataConstant0$fGenericConstant0 $fEqConstant0$fShowConstant0$fNFDataMethodHandle$fGenericMethodHandle$fEqMethodHandle$fShowMethodHandle$fOrdMethodHandle$fNFDataMethodHandle0$fGenericMethodHandle0$fEqMethodHandle0$fShowMethodHandle0$fNFDataMethodHandleField$fGenericMethodHandleField$fEqMethodHandleField$fShowMethodHandleField$fOrdMethodHandleField$fNFDataMethodHandleField0$fGenericMethodHandleField0$fEqMethodHandleField0$fShowMethodHandleField0$fNFDataMethodHandleMethod$fGenericMethodHandleMethod$fEqMethodHandleMethod$fShowMethodHandleMethod$fOrdMethodHandleMethod$fNFDataMethodHandleMethod0$fGenericMethodHandleMethod0$fEqMethodHandleMethod0$fShowMethodHandleMethod0$fNFDataMethodHandleInterface$fGenericMethodHandleInterface$fEqMethodHandleInterface$fShowMethodHandleInterface$fOrdMethodHandleInterface$fNFDataMethodHandleInterface0$fGenericMethodHandleInterface0$fEqMethodHandleInterface0$fShowMethodHandleInterface0$fBinaryInvokeDynamic$fNFDataInvokeDynamic$fGenericInvokeDynamic$fEqInvokeDynamic$fShowInvokeDynamic$fOrdInvokeDynamic$fNFDataInvokeDynamic0$fGenericInvokeDynamic0$fEqInvokeDynamic0$fShowInvokeDynamic0$fBinaryInClass$fNFDataInClass$fGenericInClass $fEqInClass $fShowInClass $fOrdInClass$fNFDataInClass0$fGenericInClass0 $fEqInClass0$fShowInClass0$fBinaryInClass0$fNFDataInClass1$fGenericInClass1 $fEqInClass1$fShowInClass1 $fOrdInClass0$fNFDataInClass2$fGenericInClass2 $fEqInClass2$fShowInClass2$fBinaryAbsInterfaceMethodId$fNFDataAbsInterfaceMethodId$fGenericAbsInterfaceMethodId$fEqAbsInterfaceMethodId$fShowAbsInterfaceMethodId$fOrdAbsInterfaceMethodId$fNFDataAbsInterfaceMethodId0$fGenericAbsInterfaceMethodId0$fEqAbsInterfaceMethodId0$fShowAbsInterfaceMethodId0JValueVIntegerVLongVFloatVDoubleVStringVClass VMethodType VMethodHandle$fReferenceableJValue $fShowJValue $fEqJValue$fGenericJValue$fNFDataJValue$fBinaryAbsVariableMethodId$fNFDataAbsVariableMethodId$fGenericAbsVariableMethodId$fEqAbsVariableMethodId$fShowAbsVariableMethodId$fOrdAbsVariableMethodId$fNFDataAbsVariableMethodId0$fGenericAbsVariableMethodId0$fEqAbsVariableMethodId0$fShowAbsVariableMethodId0StagedstageevolvedevolveDevolveMunlinkEvolveMlinkattributeErrorLabelMlabel$fStagedMethodHandleInterface$fStagedMethodHandleField$fStagedMethodHandleMethod$fStagedMethodHandle$fStagedInClass$fStagedInvokeDynamic$fStagedConstantPoolAccessError paErrorRef paErrorMsg ConstantPoolunConstantPoolemptyaccessappend$fBinaryConstantPool$fNFDataPoolAccessError$fShowPoolAccessError$fEqPoolAccessError$fGenericPoolAccessError$fNFDataConstantPool$fGenericConstantPool$fEqConstantPool$fShowConstantPool$fOrdConstantPool$fNFDataConstantPool0$fGenericConstantPool0$fEqConstantPool0$fShowConstantPool0 ByteCodeOpr ArrayLoad ArrayStorePushLoadStore BinaryOprNegBitOpr IncrLocalCast CompareLongsCompareFloatingIfIfRefGotoJsrRet TableSwitch LookupSwitchGetPutInvokeNewNewArray ArrayLengthThrow CheckCast InstanceOfMonitor MultiNewArrayReturnNopPopDupDupX1DupX2Swap SwitchTable switchLow switchOffsetsCastOprCastDownCastToCmpOprCEqCNeCLtCGeCGtCLeIncrementAmount LocalAddressShLShRUShRAndOrXOrBinOprAddSubMulDivRem CConstantCNullCIntM1CInt0CInt1CInt2CInt3CInt4CInt5CLong0CLong1CFloat0CFloat1CFloat2CDouble0CDouble1CByteCShortCRefWordSizeOneOrTwoOneTwo FieldAccess FldStaticFldField Invocation InvkSpecial InvkVirtual InvkStatic InvkInterface InvkDynamicExactArrayType EABooleanEAByteEACharEAShortEAIntEALongEAFloatEADoubleEARef ArrayTypeAByteACharAShortAIntALongAFloatADoubleARef LocalTypeLIntLLongLFloatLDoubleLRefSmallArithmeticTypeMByteMCharMShortArithmeticTypeMIntMLongMFloatMDoubleByteCodeStagedevolveBC devolveBC ByteCodeInstoffsetopcode OffsetMap ByteCodeRef ByteCodeIndexByteCodeOffsetByteCode unByteCode offsetIndex evolveOffset offsetMap devolveOffset indexOffsetevolveByteCodedevolveByteCode switchHigh$fStagedExactArrayType$fStagedInvocation$fStagedCConstant$fBinaryByteCodeOpr$fBinaryByteCodeInst$fByteCodeStagedByteCodeInst$fBinaryByteCode$fShowArithmeticType$fOrdArithmeticType$fEqArithmeticType$fEnumArithmeticType$fBoundedArithmeticType$fGenericArithmeticType$fNFDataArithmeticType$fShowSmallArithmeticType$fOrdSmallArithmeticType$fEqSmallArithmeticType$fEnumSmallArithmeticType$fBoundedSmallArithmeticType$fGenericSmallArithmeticType$fNFDataSmallArithmeticType$fShowLocalType$fOrdLocalType $fEqLocalType$fEnumLocalType$fBoundedLocalType$fGenericLocalType$fNFDataLocalType$fShowArrayType $fEqArrayType$fOrdArrayType$fGenericArrayType$fNFDataArrayType$fShowFieldAccess$fOrdFieldAccess$fEqFieldAccess$fGenericFieldAccess$fNFDataFieldAccess$fShowOneOrTwo $fOrdOneOrTwo$fBoundedOneOrTwo $fEqOneOrTwo$fEnumOneOrTwo$fGenericOneOrTwo$fNFDataOneOrTwo $fShowBinOpr $fOrdBinOpr $fEqBinOpr$fGenericBinOpr$fNFDataBinOpr $fShowBitOpr $fOrdBitOpr $fEqBitOpr$fGenericBitOpr$fNFDataBitOpr $fShowCmpOpr $fOrdCmpOpr $fEqCmpOpr$fGenericCmpOpr$fNFDataCmpOpr $fShowCastOpr $fOrdCastOpr $fEqCastOpr$fGenericCastOpr$fNFDataCastOpr$fNFDataByteCode$fGenericByteCode $fEqByteCode$fShowByteCode $fOrdByteCode$fNFDataByteCode0$fGenericByteCode0 $fEqByteCode0$fShowByteCode0$fNFDataByteCodeInst$fGenericByteCodeInst$fEqByteCodeInst$fShowByteCodeInst$fOrdByteCodeInst$fNFDataByteCodeInst0$fGenericByteCodeInst0$fEqByteCodeInst0$fShowByteCodeInst0$fNFDataByteCodeOpr$fGenericByteCodeOpr$fEqByteCodeOpr$fShowByteCodeOpr$fOrdByteCodeOpr$fNFDataByteCodeOpr0$fGenericByteCodeOpr0$fEqByteCodeOpr0$fShowByteCodeOpr0$fNFDataSwitchTable$fGenericSwitchTable$fEqSwitchTable$fShowSwitchTable$fOrdSwitchTable$fNFDataSwitchTable0$fGenericSwitchTable0$fEqSwitchTable0$fShowSwitchTable0$fNFDataInvocation$fGenericInvocation$fEqInvocation$fShowInvocation$fOrdInvocation$fNFDataInvocation0$fGenericInvocation0$fEqInvocation0$fShowInvocation0$fNFDataCConstant$fGenericCConstant $fEqCConstant$fShowCConstant$fOrdCConstant$fNFDataCConstant0$fGenericCConstant0$fEqCConstant0$fShowCConstant0$fNFDataExactArrayType$fGenericExactArrayType$fEqExactArrayType$fShowExactArrayType$fOrdExactArrayType$fNFDataExactArrayType0$fGenericExactArrayType0$fEqExactArrayType0$fShowExactArrayType0 AttributeaNameaInfo'firstOneaInfo$fStagedAttribute IsAttributeattrNameConstunConst AttributesfromAttribute' toAttribute' toAttributedevolveAttributetoCtoC'collectfromAttributes$fBinaryAttribute$fNFDataAttribute$fGenericAttribute $fEqAttribute$fShowAttribute$fOrdAttribute$fNFDataAttribute0$fGenericAttribute0$fEqAttribute0$fShowAttribute0VerificationTypeInfoVTTop VTIntegerVTFloatVTLongVTDoubleVTNullVTUninitializedThisVTObjectVTUninitializedStackMapFrameType SameFrameSameLocals1StackItemFrame ChopFrame AppendFrame FullFrame StackMapFrame deltaOffset frameType DeltaOffset StackMapTable stackMapTable offsetDeltaoffsetDeltaInv$fStagedVerificationTypeInfo$fBinaryVerificationTypeInfo$fStagedStackMapFrameType$fBinaryStackMapFrame$fByteCodeStagedStackMapTable$fIsAttributeStackMapTable$fBinaryStackMapTable$fNFDataStackMapTable$fGenericStackMapTable$fEqStackMapTable$fShowStackMapTable$fOrdStackMapTable$fNFDataStackMapTable0$fGenericStackMapTable0$fEqStackMapTable0$fShowStackMapTable0$fNFDataStackMapFrame$fGenericStackMapFrame$fEqStackMapFrame$fShowStackMapFrame$fOrdStackMapFrame$fNFDataStackMapFrame0$fGenericStackMapFrame0$fEqStackMapFrame0$fShowStackMapFrame0$fNFDataStackMapFrameType$fGenericStackMapFrameType$fEqStackMapFrameType$fShowStackMapFrameType$fOrdStackMapFrameType$fNFDataStackMapFrameType0$fGenericStackMapFrameType0$fEqStackMapFrameType0$fShowStackMapFrameType0$fNFDataVerificationTypeInfo$fGenericVerificationTypeInfo$fEqVerificationTypeInfo$fShowVerificationTypeInfo$fOrdVerificationTypeInfo$fNFDataVerificationTypeInfo0$fGenericVerificationTypeInfo0$fEqVerificationTypeInfo0$fShowVerificationTypeInfo0 SignaturesignatureToTextsignatureFromText$fStagedSignature$fIsAttributeSignature$fBinarySignature$fNFDataSignature$fGenericSignature $fEqSignature$fShowSignature$fOrdSignature$fNFDataSignature0$fGenericSignature0$fEqSignature0$fShowSignature0 BinaryFormatLineNumberTablelineNumberTable LineNumber linenumber linenumber'$fByteCodeStagedLineNumberTable$fIsAttributeLineNumberTable$fBinaryLineNumberTable$fShowLineNumberTable$fEqLineNumberTable$fOrdLineNumberTable$fGenericLineNumberTable$fNFDataLineNumberTable Exceptions exceptions$fStagedExceptions$fIsAttributeExceptions$fBinaryExceptions$fNFDataExceptions$fGenericExceptions$fEqExceptions$fShowExceptions$fOrdExceptions$fNFDataExceptions0$fGenericExceptions0$fEqExceptions0$fShowExceptions0 ConstantValue constantValue$fStagedConstantValue$fIsAttributeConstantValue$fBinaryConstantValue$fNFDataConstantValue$fGenericConstantValue$fEqConstantValue$fShowConstantValue$fOrdConstantValue$fNFDataConstantValue0$fGenericConstantValue0$fEqConstantValue0$fShowConstantValue0CodeAttributescaStackMapTablecaLineNumberTablecaOthersExceptionTablestartendhandler catchTypeCode codeMaxStack codeMaxLocals codeByteCodecodeExceptionTablecodeAttributescodeByteCodeOprscodeByteCodeInstscodeStackMapTable$fByteCodeStagedExceptionTable $fStagedCode$fIsAttributeCode $fBinaryCode $fNFDataCode $fGenericCode$fEqCode $fShowCode $fOrdCode $fNFDataCode0$fGenericCode0 $fEqCode0 $fShowCode0$fBinaryExceptionTable$fNFDataExceptionTable$fGenericExceptionTable$fEqExceptionTable$fShowExceptionTable$fOrdExceptionTable$fNFDataExceptionTable0$fGenericExceptionTable0$fEqExceptionTable0$fShowExceptionTable0$fNFDataCodeAttributes$fGenericCodeAttributes$fEqCodeAttributes$fShowCodeAttributes$fOrdCodeAttributes$fNFDataCodeAttributes0$fGenericCodeAttributes0$fEqCodeAttributes0$fShowCodeAttributes0BootstrapMethodmethod argumentsBootstrapMethodsmethods'methods$fStagedBootstrapMethod$fStagedBootstrapMethods$fIsAttributeBootstrapMethods$fBinaryBootstrapMethod$fNFDataBootstrapMethod$fGenericBootstrapMethod$fEqBootstrapMethod$fShowBootstrapMethod$fOrdBootstrapMethod$fNFDataBootstrapMethod0$fGenericBootstrapMethod0$fEqBootstrapMethod0$fShowBootstrapMethod0$fBinaryBootstrapMethods$fNFDataBootstrapMethods$fGenericBootstrapMethods$fEqBootstrapMethods$fShowBootstrapMethods$fOrdBootstrapMethods$fNFDataBootstrapMethods0$fGenericBootstrapMethods0$fEqBootstrapMethods0$fShowBootstrapMethods0 FAccessFlagFPublicFPrivate FProtectedFStaticFFinal FVolatile FTransient FSyntheticFEnum CAccessFlagCPublicCFinalCSuper CInterface CAbstract CSynthetic CAnnotationCEnumCModule MAccessFlagMPublicMPrivate MProtectedMStaticMFinal MSynchronizedMBridgeMVarargsMNative MAbstract MStrictFP MSyntheticmflagscflagsfflags$fEnumishMAccessFlag$fEnumishCAccessFlag$fEnumishFAccessFlag$fOrdMAccessFlag$fShowMAccessFlag$fEqMAccessFlag$fNFDataMAccessFlag$fGenericMAccessFlag$fOrdCAccessFlag$fShowCAccessFlag$fEqCAccessFlag$fNFDataCAccessFlag$fGenericCAccessFlag$fOrdFAccessFlag$fShowFAccessFlag$fEqFAccessFlag$fNFDataFAccessFlag$fGenericFAccessFlagMethodAttributesmaCode maExceptions maSignaturesmaOthers mAccessFlags'mName mDescriptor mAttributes mAccessFlagsmCode mExceptions' mExceptions mSignature$fStagedMethod$fNFDataMethodAttributes$fGenericMethodAttributes$fEqMethodAttributes$fShowMethodAttributes$fOrdMethodAttributes$fNFDataMethodAttributes0$fGenericMethodAttributes0$fEqMethodAttributes0$fShowMethodAttributes0$fBinaryMethod$fNFDataMethod$fGenericMethod $fEqMethod $fShowMethod $fOrdMethod$fNFDataMethod0$fGenericMethod0 $fEqMethod0 $fShowMethod0FieldAttributesfaConstantValues faSignaturesfaOthers fAccessFlags'fName fDescriptor fAttributes fAccessFlagsfConstantValue fSignature $fStagedField$fNFDataFieldAttributes$fGenericFieldAttributes$fEqFieldAttributes$fShowFieldAttributes$fOrdFieldAttributes$fNFDataFieldAttributes0$fGenericFieldAttributes0$fEqFieldAttributes0$fShowFieldAttributes0 $fBinaryField $fNFDataField$fGenericField $fEqField $fShowField $fOrdField$fNFDataField0$fGenericField0 $fEqField0 $fShowField0ClassAttributescaBootstrapMethods caSignature cMagicNumber cMinorVersion cMajorVersion cConstantPool cAccessFlags' cThisClass cSuperClass cInterfacescFields' cMethods' cAttributes cAccessFlagscFieldscMethodscBootstrapMethods cSignature$fStagedClassFile$fNFDataClassAttributes$fGenericClassAttributes$fEqClassAttributes$fShowClassAttributes$fOrdClassAttributes$fNFDataClassAttributes0$fGenericClassAttributes0$fEqClassAttributes0$fShowClassAttributes0$fBinaryClassFile$fNFDataClassFile$fGenericClassFile $fEqClassFile$fShowClassFile$fOrdClassFile$fNFDataClassFile0$fGenericClassFile0$fEqClassFile0$fShowClassFile0ConstantPoolBuilder CPBuilder cpbMappercpbConstantPoolEvolveClassFileErrordecodeClassFileencodeClassFileevolveClassFiledevolveClassFiledevolveClassFile' readClassFilewriteClassFilewriteClassFile' runEvolvebootstrapConstantPoolcpbEmptybuilderFromConstantPoolrunConstantPoolBuilder$fNFDataClassFileError$fEvolveMEvolve$fLabelMEvolve$fDevolveMConstantPoolBuilder$fLabelMConstantPoolBuilder$fShowClassFileError$fEqClassFileError$fGenericClassFileError$fFunctorEvolve$fApplicativeEvolve $fMonadEvolve$fMonadReaderEvolve$fMonadErrorEvolve$fMonadConstantPoolBuilder$fMonadStateConstantPoolBuilder$fFunctorConstantPoolBuilder $fApplicativeConstantPoolBuilderdeepseq-1.4.3.0Control.DeepSeqNFDatabaseGHC.ShowShowghc-prim GHC.ClassesEq GHC.GenericsGeneric BConstantLongRelativeRefShortRelativeRef fromAttributeevolveAttribute Data.FoldableFoldablecBootstrapMethods'bytestring-0.10.8.2Data.ByteString.Lazy.Internal Data.BinarydecodeencodeCFEPoolAccessErrorCFEInconsistentClassPoolCFEConversionErrorCFEUnreadableFileversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName