From dda05bca0956af5e5b3875c4cc36e61aa04772e4 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sun, 12 Sep 2021 00:07:08 -0400 Subject: Made the "#" character great again! --- lux-jvm/source/luxc/lang/directive/jvm.lux | 542 ++++++++++++++--------------- 1 file changed, 271 insertions(+), 271 deletions(-) (limited to 'lux-jvm/source/luxc/lang/directive') diff --git a/lux-jvm/source/luxc/lang/directive/jvm.lux b/lux-jvm/source/luxc/lang/directive/jvm.lux index b81a10c69..36a498cda 100644 --- a/lux-jvm/source/luxc/lang/directive/jvm.lux +++ b/lux-jvm/source/luxc/lang/directive/jvm.lux @@ -72,181 +72,181 @@ (def: (literal literal) (-> /.Literal Inst) (case literal - {#/.Boolean value} (_.boolean value) - {#/.Int value} (_.int value) - {#/.Long value} (_.long value) - {#/.Double value} (_.double value) - {#/.Char value} (_.char value) - {#/.String value} (_.string value))) + {/.#Boolean value} (_.boolean value) + {/.#Int value} (_.int value) + {/.#Long value} (_.long value) + {/.#Double value} (_.double value) + {/.#Char value} (_.char value) + {/.#String value} (_.string value))) (def: (constant instruction) (-> /.Constant Inst) (case instruction - {#/.BIPUSH constant} (_.BIPUSH constant) + {/.#BIPUSH constant} (_.BIPUSH constant) - {#/.SIPUSH constant} (_.SIPUSH constant) - - #/.ICONST_M1 _.ICONST_M1 - #/.ICONST_0 _.ICONST_0 - #/.ICONST_1 _.ICONST_1 - #/.ICONST_2 _.ICONST_2 - #/.ICONST_3 _.ICONST_3 - #/.ICONST_4 _.ICONST_4 - #/.ICONST_5 _.ICONST_5 - - #/.LCONST_0 _.LCONST_0 - #/.LCONST_1 _.LCONST_1 + {/.#SIPUSH constant} (_.SIPUSH constant) + + {/.#ICONST_M1} _.ICONST_M1 + {/.#ICONST_0} _.ICONST_0 + {/.#ICONST_1} _.ICONST_1 + {/.#ICONST_2} _.ICONST_2 + {/.#ICONST_3} _.ICONST_3 + {/.#ICONST_4} _.ICONST_4 + {/.#ICONST_5} _.ICONST_5 + + {/.#LCONST_0} _.LCONST_0 + {/.#LCONST_1} _.LCONST_1 - #/.FCONST_0 _.FCONST_0 - #/.FCONST_1 _.FCONST_1 - #/.FCONST_2 _.FCONST_2 + {/.#FCONST_0} _.FCONST_0 + {/.#FCONST_1} _.FCONST_1 + {/.#FCONST_2} _.FCONST_2 - #/.DCONST_0 _.DCONST_0 - #/.DCONST_1 _.DCONST_1 + {/.#DCONST_0} _.DCONST_0 + {/.#DCONST_1} _.DCONST_1 - #/.ACONST_NULL _.NULL + {/.#ACONST_NULL} _.NULL - {#/.LDC literal} + {/.#LDC literal} (..literal literal) )) (def: (int_arithmetic instruction) (-> /.Int_Arithmetic Inst) (case instruction - #/.IADD _.IADD - #/.ISUB _.ISUB - #/.IMUL _.IMUL - #/.IDIV _.IDIV - #/.IREM _.IREM - #/.INEG _.INEG)) + {/.#IADD} _.IADD + {/.#ISUB} _.ISUB + {/.#IMUL} _.IMUL + {/.#IDIV} _.IDIV + {/.#IREM} _.IREM + {/.#INEG} _.INEG)) (def: (long_arithmetic instruction) (-> /.Long_Arithmetic Inst) (case instruction - #/.LADD _.LADD - #/.LSUB _.LSUB - #/.LMUL _.LMUL - #/.LDIV _.LDIV - #/.LREM _.LREM - #/.LNEG _.LNEG)) + {/.#LADD} _.LADD + {/.#LSUB} _.LSUB + {/.#LMUL} _.LMUL + {/.#LDIV} _.LDIV + {/.#LREM} _.LREM + {/.#LNEG} _.LNEG)) (def: (float_arithmetic instruction) (-> /.Float_Arithmetic Inst) (case instruction - #/.FADD _.FADD - #/.FSUB _.FSUB - #/.FMUL _.FMUL - #/.FDIV _.FDIV - #/.FREM _.FREM - #/.FNEG _.FNEG)) + {/.#FADD} _.FADD + {/.#FSUB} _.FSUB + {/.#FMUL} _.FMUL + {/.#FDIV} _.FDIV + {/.#FREM} _.FREM + {/.#FNEG} _.FNEG)) (def: (double_arithmetic instruction) (-> /.Double_Arithmetic Inst) (case instruction - #/.DADD _.DADD - #/.DSUB _.DSUB - #/.DMUL _.DMUL - #/.DDIV _.DDIV - #/.DREM _.DREM - #/.DNEG _.DNEG)) + {/.#DADD} _.DADD + {/.#DSUB} _.DSUB + {/.#DMUL} _.DMUL + {/.#DDIV} _.DDIV + {/.#DREM} _.DREM + {/.#DNEG} _.DNEG)) (def: (arithmetic instruction) (-> /.Arithmetic Inst) (case instruction - {#/.Int_Arithmetic int_arithmetic} + {/.#Int_Arithmetic int_arithmetic} (..int_arithmetic int_arithmetic) - {#/.Long_Arithmetic long_arithmetic} + {/.#Long_Arithmetic long_arithmetic} (..long_arithmetic long_arithmetic) - {#/.Float_Arithmetic float_arithmetic} + {/.#Float_Arithmetic float_arithmetic} (..float_arithmetic float_arithmetic) - {#/.Double_Arithmetic double_arithmetic} + {/.#Double_Arithmetic double_arithmetic} (..double_arithmetic double_arithmetic))) (def: (int_bitwise instruction) (-> /.Int_Bitwise Inst) (case instruction - #/.IOR _.IOR - #/.IXOR _.IXOR - #/.IAND _.IAND - #/.ISHL _.ISHL - #/.ISHR _.ISHR - #/.IUSHR _.IUSHR)) + {/.#IOR} _.IOR + {/.#IXOR} _.IXOR + {/.#IAND} _.IAND + {/.#ISHL} _.ISHL + {/.#ISHR} _.ISHR + {/.#IUSHR} _.IUSHR)) (def: (long_bitwise instruction) (-> /.Long_Bitwise Inst) (case instruction - #/.LOR _.LOR - #/.LXOR _.LXOR - #/.LAND _.LAND - #/.LSHL _.LSHL - #/.LSHR _.LSHR - #/.LUSHR _.LUSHR)) + {/.#LOR} _.LOR + {/.#LXOR} _.LXOR + {/.#LAND} _.LAND + {/.#LSHL} _.LSHL + {/.#LSHR} _.LSHR + {/.#LUSHR} _.LUSHR)) (def: (bitwise instruction) (-> /.Bitwise Inst) (case instruction - {#/.Int_Bitwise int_bitwise} + {/.#Int_Bitwise int_bitwise} (..int_bitwise int_bitwise) - {#/.Long_Bitwise long_bitwise} + {/.#Long_Bitwise long_bitwise} (..long_bitwise long_bitwise))) (def: (conversion instruction) (-> /.Conversion Inst) (case instruction - #/.I2B _.I2B - #/.I2S _.I2S - #/.I2L _.I2L - #/.I2F _.I2F - #/.I2D _.I2D - #/.I2C _.I2C - - #/.L2I _.L2I - #/.L2F _.L2F - #/.L2D _.L2D - - #/.F2I _.F2I - #/.F2L _.F2L - #/.F2D _.F2D + {/.#I2B} _.I2B + {/.#I2S} _.I2S + {/.#I2L} _.I2L + {/.#I2F} _.I2F + {/.#I2D} _.I2D + {/.#I2C} _.I2C + + {/.#L2I} _.L2I + {/.#L2F} _.L2F + {/.#L2D} _.L2D + + {/.#F2I} _.F2I + {/.#F2L} _.F2L + {/.#F2D} _.F2D - #/.D2I _.D2I - #/.D2L _.D2L - #/.D2F _.D2F)) + {/.#D2I} _.D2I + {/.#D2L} _.D2L + {/.#D2F} _.D2F)) (def: (array instruction) (-> /.Array Inst) (case instruction - #/.ARRAYLENGTH _.ARRAYLENGTH + {/.#ARRAYLENGTH} _.ARRAYLENGTH - {#/.NEWARRAY type} (_.NEWARRAY type) - {#/.ANEWARRAY type} (_.ANEWARRAY type) + {/.#NEWARRAY type} (_.NEWARRAY type) + {/.#ANEWARRAY type} (_.ANEWARRAY type) - #/.BALOAD _.BALOAD - #/.BASTORE _.BASTORE + {/.#BALOAD} _.BALOAD + {/.#BASTORE} _.BASTORE - #/.SALOAD _.SALOAD - #/.SASTORE _.SASTORE + {/.#SALOAD} _.SALOAD + {/.#SASTORE} _.SASTORE - #/.IALOAD _.IALOAD - #/.IASTORE _.IASTORE + {/.#IALOAD} _.IALOAD + {/.#IASTORE} _.IASTORE - #/.LALOAD _.LALOAD - #/.LASTORE _.LASTORE + {/.#LALOAD} _.LALOAD + {/.#LASTORE} _.LASTORE - #/.FALOAD _.FALOAD - #/.FASTORE _.FASTORE + {/.#FALOAD} _.FALOAD + {/.#FASTORE} _.FASTORE - #/.DALOAD _.DALOAD - #/.DASTORE _.DASTORE + {/.#DALOAD} _.DALOAD + {/.#DASTORE} _.DASTORE - #/.CALOAD _.CALOAD - #/.CASTORE _.CASTORE + {/.#CALOAD} _.CALOAD + {/.#CASTORE} _.CASTORE - #/.AALOAD _.AALOAD - #/.AASTORE _.AASTORE)) + {/.#AALOAD} _.AALOAD + {/.#AASTORE} _.AASTORE)) (def: (object instruction) (-> /.Object Inst) @@ -254,162 +254,162 @@ (^template [ ] [{ class field_name field_type} ( class field_name field_type)]) - ([#/.GETSTATIC _.GETSTATIC] - [#/.PUTSTATIC _.PUTSTATIC] - [#/.GETFIELD _.GETFIELD] - [#/.PUTFIELD _.PUTFIELD]) + ([/.#GETSTATIC _.GETSTATIC] + [/.#PUTSTATIC _.PUTSTATIC] + [/.#GETFIELD _.GETFIELD] + [/.#PUTFIELD _.PUTFIELD]) - {#/.NEW type} (_.NEW type) + {/.#NEW type} (_.NEW type) - {#/.INSTANCEOF type} (_.INSTANCEOF type) - {#/.CHECKCAST type} (_.CHECKCAST type) + {/.#INSTANCEOF type} (_.INSTANCEOF type) + {/.#CHECKCAST type} (_.CHECKCAST type) (^template [ ] [{ class method_name method_type} ( class method_name method_type)]) - ([#/.INVOKEINTERFACE _.INVOKEINTERFACE] - [#/.INVOKESPECIAL _.INVOKESPECIAL] - [#/.INVOKESTATIC _.INVOKESTATIC] - [#/.INVOKEVIRTUAL _.INVOKEVIRTUAL]) + ([/.#INVOKEINTERFACE _.INVOKEINTERFACE] + [/.#INVOKESPECIAL _.INVOKESPECIAL] + [/.#INVOKESTATIC _.INVOKESTATIC] + [/.#INVOKEVIRTUAL _.INVOKEVIRTUAL]) )) (def: (local_int instruction) (-> /.Local_Int Inst) (case instruction - {#/.ILOAD register} (_.ILOAD register) - {#/.ISTORE register} (_.ISTORE register))) + {/.#ILOAD register} (_.ILOAD register) + {/.#ISTORE register} (_.ISTORE register))) (def: (local_long instruction) (-> /.Local_Long Inst) (case instruction - {#/.LLOAD register} (_.LLOAD register) - {#/.LSTORE register} (_.LSTORE register))) + {/.#LLOAD register} (_.LLOAD register) + {/.#LSTORE register} (_.LSTORE register))) (def: (local_float instruction) (-> /.Local_Float Inst) (case instruction - {#/.FLOAD register} (_.FLOAD register) - {#/.FSTORE register} (_.FSTORE register))) + {/.#FLOAD register} (_.FLOAD register) + {/.#FSTORE register} (_.FSTORE register))) (def: (local_double instruction) (-> /.Local_Double Inst) (case instruction - {#/.DLOAD register} (_.DLOAD register) - {#/.DSTORE register} (_.DSTORE register))) + {/.#DLOAD register} (_.DLOAD register) + {/.#DSTORE register} (_.DSTORE register))) (def: (local_object instruction) (-> /.Local_Object Inst) (case instruction - {#/.ALOAD register} (_.ALOAD register) - {#/.ASTORE register} (_.ASTORE register))) + {/.#ALOAD register} (_.ALOAD register) + {/.#ASTORE register} (_.ASTORE register))) (def: (local instruction) (-> /.Local Inst) (case instruction - {#/.Local_Int instruction} (..local_int instruction) - {#/.IINC register} (_.IINC register) - {#/.Local_Long instruction} (..local_long instruction) - {#/.Local_Float instruction} (..local_float instruction) - {#/.Local_Double instruction} (..local_double instruction) - {#/.Local_Object instruction} (..local_object instruction))) + {/.#Local_Int instruction} (..local_int instruction) + {/.#IINC register} (_.IINC register) + {/.#Local_Long instruction} (..local_long instruction) + {/.#Local_Float instruction} (..local_float instruction) + {/.#Local_Double instruction} (..local_double instruction) + {/.#Local_Object instruction} (..local_object instruction))) (def: (stack instruction) (-> /.Stack Inst) (case instruction - #/.DUP _.DUP - #/.DUP_X1 _.DUP_X1 - #/.DUP_X2 _.DUP_X2 - #/.DUP2 _.DUP2 - #/.DUP2_X1 _.DUP2_X1 - #/.DUP2_X2 _.DUP2_X2 - #/.SWAP _.SWAP - #/.POP _.POP - #/.POP2 _.POP2)) + {/.#DUP} _.DUP + {/.#DUP_X1} _.DUP_X1 + {/.#DUP_X2} _.DUP_X2 + {/.#DUP2} _.DUP2 + {/.#DUP2_X1} _.DUP2_X1 + {/.#DUP2_X2} _.DUP2_X2 + {/.#SWAP} _.SWAP + {/.#POP} _.POP + {/.#POP2} _.POP2)) (def: (comparison instruction) (-> /.Comparison Inst) (case instruction - #/.LCMP _.LCMP + {/.#LCMP} _.LCMP - #/.FCMPG _.FCMPG - #/.FCMPL _.FCMPL + {/.#FCMPG} _.FCMPG + {/.#FCMPL} _.FCMPL - #/.DCMPG _.DCMPG - #/.DCMPL _.DCMPL)) + {/.#DCMPG} _.DCMPG + {/.#DCMPL} _.DCMPL)) (def: (branching instruction) (-> (/.Branching org/objectweb/asm/Label) Inst) (case instruction - {#/.IF_ICMPEQ label} (_.IF_ICMPEQ label) - {#/.IF_ICMPGE label} (_.IF_ICMPGE label) - {#/.IF_ICMPGT label} (_.IF_ICMPGT label) - {#/.IF_ICMPLE label} (_.IF_ICMPLE label) - {#/.IF_ICMPLT label} (_.IF_ICMPLT label) - {#/.IF_ICMPNE label} (_.IF_ICMPNE label) - {#/.IFEQ label} (_.IFEQ label) - {#/.IFGE label} (_.IFGE label) - {#/.IFGT label} (_.IFGT label) - {#/.IFLE label} (_.IFLE label) - {#/.IFLT label} (_.IFLT label) - {#/.IFNE label} (_.IFNE label) - - {#/.TABLESWITCH min max default labels} + {/.#IF_ICMPEQ label} (_.IF_ICMPEQ label) + {/.#IF_ICMPGE label} (_.IF_ICMPGE label) + {/.#IF_ICMPGT label} (_.IF_ICMPGT label) + {/.#IF_ICMPLE label} (_.IF_ICMPLE label) + {/.#IF_ICMPLT label} (_.IF_ICMPLT label) + {/.#IF_ICMPNE label} (_.IF_ICMPNE label) + {/.#IFEQ label} (_.IFEQ label) + {/.#IFGE label} (_.IFGE label) + {/.#IFGT label} (_.IFGT label) + {/.#IFLE label} (_.IFLE label) + {/.#IFLT label} (_.IFLT label) + {/.#IFNE label} (_.IFNE label) + + {/.#TABLESWITCH min max default labels} (_.TABLESWITCH min max default labels) - {#/.LOOKUPSWITCH default keys+labels} + {/.#LOOKUPSWITCH default keys+labels} (_.LOOKUPSWITCH default keys+labels) - {#/.IF_ACMPEQ label} (_.IF_ACMPEQ label) - {#/.IF_ACMPNE label} (_.IF_ACMPNE label) - {#/.IFNONNULL label} (_.IFNONNULL label) - {#/.IFNULL label} (_.IFNULL label))) + {/.#IF_ACMPEQ label} (_.IF_ACMPEQ label) + {/.#IF_ACMPNE label} (_.IF_ACMPNE label) + {/.#IFNONNULL label} (_.IFNONNULL label) + {/.#IFNULL label} (_.IFNULL label))) (def: (exception instruction) (-> (/.Exception org/objectweb/asm/Label) Inst) (case instruction - {#/.Try start end handler exception} (_.try start end handler exception) - #/.ATHROW _.ATHROW)) + {/.#Try start end handler exception} (_.try start end handler exception) + {/.#ATHROW} _.ATHROW)) (def: (concurrency instruction) (-> /.Concurrency Inst) (case instruction - #/.MONITORENTER _.MONITORENTER - #/.MONITOREXIT _.MONITOREXIT)) + {/.#MONITORENTER} _.MONITORENTER + {/.#MONITOREXIT} _.MONITOREXIT)) (def: (return instruction) (-> /.Return Inst) (case instruction - #/.RETURN _.RETURN - #/.IRETURN _.IRETURN - #/.LRETURN _.LRETURN - #/.FRETURN _.FRETURN - #/.DRETURN _.DRETURN - #/.ARETURN _.ARETURN)) + {/.#RETURN} _.RETURN + {/.#IRETURN} _.IRETURN + {/.#LRETURN} _.LRETURN + {/.#FRETURN} _.FRETURN + {/.#DRETURN} _.DRETURN + {/.#ARETURN} _.ARETURN)) (def: (control instruction) (-> (/.Control org/objectweb/asm/Label) Inst) (case instruction - {#/.GOTO label} (_.GOTO label) - {#/.Branching instruction} (..branching instruction) - {#/.Exception instruction} (..exception instruction) - {#/.Concurrency instruction} (..concurrency instruction) - {#/.Return instruction} (..return instruction))) + {/.#GOTO label} (_.GOTO label) + {/.#Branching instruction} (..branching instruction) + {/.#Exception instruction} (..exception instruction) + {/.#Concurrency instruction} (..concurrency instruction) + {/.#Return instruction} (..return instruction))) (def: (instruction instruction) (-> (/.Instruction Inst org/objectweb/asm/Label) Inst) (case instruction - #/.NOP _.NOP - {#/.Constant instruction} (..constant instruction) - {#/.Arithmetic instruction} (..arithmetic instruction) - {#/.Bitwise instruction} (..bitwise instruction) - {#/.Conversion instruction} (..conversion instruction) - {#/.Array instruction} (..array instruction) - {#/.Object instruction} (..object instruction) - {#/.Local instruction} (..local instruction) - {#/.Stack instruction} (..stack instruction) - {#/.Comparison instruction} (..comparison instruction) - {#/.Control instruction} (..control instruction) - {#/.Embedded embedded} embedded)) + {/.#NOP} _.NOP + {/.#Constant instruction} (..constant instruction) + {/.#Arithmetic instruction} (..arithmetic instruction) + {/.#Bitwise instruction} (..bitwise instruction) + {/.#Conversion instruction} (..conversion instruction) + {/.#Array instruction} (..array instruction) + {/.#Object instruction} (..object instruction) + {/.#Local instruction} (..local instruction) + {/.#Stack instruction} (..stack instruction) + {/.#Comparison instruction} (..comparison instruction) + {/.#Control instruction} (..control instruction) + {/.#Embedded embedded} embedded)) (type: Mapping (Dictionary /.Label org/objectweb/asm/Label)) @@ -421,10 +421,10 @@ (def: (relabel [mapping label]) (Re_labeler Identity) (case (dictionary.value label mapping) - {#.Some label} + {.#Some label} [mapping label] - #.None + {.#None} (let [label' (org/objectweb/asm/Label::new)] [(dictionary.has label label' mapping) label']))) @@ -435,39 +435,39 @@ [{ label} (let [[mapping label] (..relabel [mapping label])] [mapping { label}])]) - ([#/.IF_ICMPEQ] [#/.IF_ICMPGE] [#/.IF_ICMPGT] [#/.IF_ICMPLE] [#/.IF_ICMPLT] [#/.IF_ICMPNE] - [#/.IFEQ] [#/.IFNE] [#/.IFGE] [#/.IFGT] [#/.IFLE] [#/.IFLT] + ([/.#IF_ICMPEQ] [/.#IF_ICMPGE] [/.#IF_ICMPGT] [/.#IF_ICMPLE] [/.#IF_ICMPLT] [/.#IF_ICMPNE] + [/.#IFEQ] [/.#IFNE] [/.#IFGE] [/.#IFGT] [/.#IFLE] [/.#IFLT] - [#/.IF_ACMPEQ] [#/.IF_ACMPNE] [#/.IFNONNULL] [#/.IFNULL]) + [/.#IF_ACMPEQ] [/.#IF_ACMPNE] [/.#IFNONNULL] [/.#IFNULL]) - {#/.TABLESWITCH min max default labels} + {/.#TABLESWITCH min max default labels} (let [[mapping default] (..relabel [mapping default]) [mapping labels] (list\mix (function (_ input [mapping output]) (let [[mapping input] (..relabel [mapping input])] [mapping (list& input output)])) [mapping (list)] labels)] - [mapping {#/.TABLESWITCH min max default (list.reversed labels)}]) + [mapping {/.#TABLESWITCH min max default (list.reversed labels)}]) - {#/.LOOKUPSWITCH default keys+labels} + {/.#LOOKUPSWITCH default keys+labels} (let [[mapping default] (..relabel [mapping default]) [mapping keys+labels] (list\mix (function (_ [expected input] [mapping output]) (let [[mapping input] (..relabel [mapping input])] [mapping (list& [expected input] output)])) [mapping (list)] keys+labels)] - [mapping {#/.LOOKUPSWITCH default (list.reversed keys+labels)}]) + [mapping {/.#LOOKUPSWITCH default (list.reversed keys+labels)}]) )) (def: (relabel_exception [mapping instruction]) (Re_labeler /.Exception) (case instruction - {#/.Try start end handler exception} + {/.#Try start end handler exception} (let [[mapping start] (..relabel [mapping start]) [mapping end] (..relabel [mapping end]) [mapping handler] (..relabel [mapping handler])] - [mapping {#/.Try start end handler exception}]) + [mapping {/.#Try start end handler exception}]) - #/.ATHROW - [mapping #/.ATHROW] + {/.#ATHROW} + [mapping {/.#ATHROW}] )) (def: (relabel_control [mapping instruction]) @@ -477,41 +477,41 @@ [{ instruction} (let [[mapping instruction] ( [mapping instruction])] [mapping { instruction}])]) - ([#/.GOTO ..relabel] - [#/.Branching ..relabel_branching] - [#/.Exception ..relabel_exception]) + ([/.#GOTO ..relabel] + [/.#Branching ..relabel_branching] + [/.#Exception ..relabel_exception]) (^template [] [{ instruction} [mapping { instruction}]]) - ([#/.Concurrency] [#/.Return]) + ([/.#Concurrency] [/.#Return]) )) (def: (relabel_instruction [mapping instruction]) (Re_labeler (/.Instruction Inst)) (case instruction - {#/.Embedded embedded} - [mapping {#/.Embedded embedded}] + {/.#Embedded embedded} + [mapping {/.#Embedded embedded}] - #/.NOP - [mapping #/.NOP] + {/.#NOP} + [mapping {/.#NOP}] (^template [] [{ instruction} [mapping { instruction}]]) - ([#/.Constant] - [#/.Arithmetic] - [#/.Bitwise] - [#/.Conversion] - [#/.Array] - [#/.Object] - [#/.Local] - [#/.Stack] - [#/.Comparison]) + ([/.#Constant] + [/.#Arithmetic] + [/.#Bitwise] + [/.#Conversion] + [/.#Array] + [/.#Object] + [/.#Local] + [/.#Stack] + [/.#Comparison]) - {#/.Control instruction} + {/.#Control instruction} (let [[mapping instruction] (..relabel_control [mapping instruction])] - [mapping {#/.Control instruction}]))) + [mapping {/.#Control instruction}]))) (def: (relabel_bytecode [mapping bytecode]) (Re_labeler (/.Bytecode Inst)) @@ -587,10 +587,10 @@ ..Handler)) (function (_ extension_name phase archive input) (case (.result parser input) - {#try.Success input'} + {try.#Success input'} (handler extension_name phase archive input') - {#try.Failure error} + {try.#Failure error} (phase.except extension.invalid_syntax [extension_name %.code input])))) (type: Declaration @@ -819,22 +819,22 @@ (def: (constraint tv) (-> (Type Var) Constraint) - [#/type.name (parser.name tv) - #/type.super_class java/lang/Object - #/type.super_interfaces (list)]) + [/type.#name (parser.name tv) + /type.#super_class java/lang/Object + /type.#super_interfaces (list)]) (def: visibility (-> ffi.Privacy jvm.Visibility) - (|>> (case> #ffi.PublicP #jvm.Public - #ffi.PrivateP #jvm.Private - #ffi.ProtectedP #jvm.Protected - #ffi.DefaultP #jvm.Default))) + (|>> (case> {ffi.#PublicP} {jvm.#Public} + {ffi.#PrivateP} {jvm.#Private} + {ffi.#ProtectedP} {jvm.#Protected} + {ffi.#DefaultP} {jvm.#Default}))) (def: field_config (-> ffi.State jvm.Field_Config) - (|>> (case> #ffi.VolatileS jvm.volatileF - #ffi.FinalS jvm.finalF - #ffi.DefaultS jvm.noneF))) + (|>> (case> {ffi.#VolatileS} jvm.volatileF + {ffi.#FinalS} jvm.finalF + {ffi.#DefaultS} jvm.noneF))) (def: (field_header [name privacy state annotations type]) (-> Field jvm.Def) @@ -843,10 +843,10 @@ (def: (header_value valueT) (-> (Type Value) Inst) (case (/type.primitive? valueT) - {#.Left classT} + {.#Left classT} _.NULL - {#.Right primitiveT} + {.#Right primitiveT} (cond (or (\ /type.equivalence = /type.boolean primitiveT) (\ /type.equivalence = /type.byte primitiveT) (\ /type.equivalence = /type.short primitiveT) @@ -866,16 +866,16 @@ (def: (header_return returnT) (-> (Type Return) Inst) (case (/type.void? returnT) - {#.Right returnT} + {.#Right returnT} _.RETURN - {#.Left valueT} + {.#Left valueT} (case (/type.primitive? valueT) - {#.Left classT} + {.#Left classT} (|>> (header_value classT) _.ARETURN) - {#.Right primitiveT} + {.#Right primitiveT} (cond (or (\ /type.equivalence = /type.boolean primitiveT) (\ /type.equivalence = /type.byte primitiveT) (\ /type.equivalence = /type.short primitiveT) @@ -936,7 +936,7 @@ {#Override [[parent_name parent_variables] name strict_floating_point? annotations variables self arguments return exceptions body]} - (def.method #jvm.Public + (def.method {jvm.#Public} (if strict_floating_point? jvm.strictM jvm.noneM) @@ -995,16 +995,16 @@ method_definitions))] [class_name (case inheritance - #ffi.DefaultI - (def.class #jvm.V1_6 #jvm.Public jvm.noneC class_name constraints super_class super_interfaces + {ffi.#DefaultI} + (def.class {jvm.#V1_6} {jvm.#Public} jvm.noneC class_name constraints super_class super_interfaces definitions) - #ffi.FinalI - (def.class #jvm.V1_6 #jvm.Public jvm.finalC class_name constraints super_class super_interfaces + {ffi.#FinalI} + (def.class {jvm.#V1_6} {jvm.#Public} jvm.finalC class_name constraints super_class super_interfaces definitions) - #ffi.AbstractI - (def.abstract #jvm.V1_6 #jvm.Public jvm.noneC class_name constraints super_class super_interfaces + {ffi.#AbstractI} + (def.abstract {jvm.#V1_6} {jvm.#Public} jvm.noneC class_name constraints super_class super_interfaces definitions))])) (def: (constructor_method_analysis archive [class_name class_tvars] method) @@ -1033,7 +1033,7 @@ arguments) returnT (//A.boxed_reflection_return mapping /type.void) [_scope bodyA] (|> arguments' - {#.Item [self selfT]} + {.#Item [self selfT]} list.reversed (list\mix scopeA.with_local (analyse archive bodyC)) (typeA.with_type returnT) @@ -1063,7 +1063,7 @@ arguments) returnT (//A.boxed_reflection_return mapping returnJ) [_scope bodyA] (|> arguments' - {#.Item [self selfT]} + {.#Item [self selfT]} list.reversed (list\mix scopeA.with_local (analyse archive bodyC)) (typeA.with_type returnT) @@ -1091,7 +1091,7 @@ arguments) returnT (//A.boxed_reflection_return mapping returnJ) [_scope bodyA] (|> arguments' - {#.Item [self selfT]} + {.#Item [self selfT]} list.reversed (list\mix scopeA.with_local (analyse archive bodyC)) (typeA.with_type returnT) @@ -1129,19 +1129,19 @@ (-> Archive Declaration (List (Type Class)) (Method Code) (Operation (Method Analysis))) (case method {#Constructor method} - (\ phase.monad each (|>> #Constructor) + (\ phase.monad each (|>> {#Constructor}) (constructor_method_analysis archive declaration method)) {#Override method} - (\ phase.monad each (|>> #Override) + (\ phase.monad each (|>> {#Override}) (override_method_analysis archive declaration supers method)) {#Virtual method} - (\ phase.monad each (|>> #Virtual) + (\ phase.monad each (|>> {#Virtual}) (virtual_method_analysis archive declaration method)) {#Static method} - (\ phase.monad each (|>> #Static) + (\ phase.monad each (|>> {#Static}) (static_method_analysis archive method)) {#Abstract method} @@ -1168,7 +1168,7 @@ (\ ! each (|>> [typeJ]) (synthesise archive termA))) constructor_argumentsA) - bodyS (synthesise archive {#analysis.Function (list) (//A.hide_method_body (list.size arguments) bodyA)})] + bodyS (synthesise archive {analysis.#Function (list) (//A.hide_method_body (list.size arguments) bodyA)})] (in [privacy strict_floating_point? annotations method_tvars exceptions self arguments constructor_argumentsS (case bodyS @@ -1187,7 +1187,7 @@ synthesise directive.synthesis] (directive.lifted_synthesis (do ! - [bodyS (synthesise archive {#analysis.Function (list) (//A.hide_method_body (list.size arguments) bodyA)})] + [bodyS (synthesise archive {analysis.#Function (list) (//A.hide_method_body (list.size arguments) bodyA)})] (in [[super_name super_tvars] method_name strict_floating_point? annotations method_tvars self arguments returnJ exceptionsJ (case bodyS @@ -1206,7 +1206,7 @@ synthesise directive.synthesis] (directive.lifted_synthesis (do ! - [bodyS (synthesise archive {#analysis.Function (list) (//A.hide_method_body (list.size arguments) bodyA)})] + [bodyS (synthesise archive {analysis.#Function (list) (//A.hide_method_body (list.size arguments) bodyA)})] (in [name privacy final? strict_floating_point? annotations method_tvars self arguments returnJ exceptionsJ (case bodyS @@ -1225,7 +1225,7 @@ synthesise directive.synthesis] (directive.lifted_synthesis (do ! - [bodyS (synthesise archive {#analysis.Function (list) (//A.hide_method_body (list.size arguments) bodyA)})] + [bodyS (synthesise archive {analysis.#Function (list) (//A.hide_method_body (list.size arguments) bodyA)})] (in [name privacy strict_floating_point? annotations method_tvars arguments returnJ exceptionsJ (case bodyS @@ -1239,19 +1239,19 @@ (-> Archive (Method Analysis) (Operation (Method Synthesis))) (case method {#Constructor method} - (\ phase.monad each (|>> #Constructor) + (\ phase.monad each (|>> {#Constructor}) (constructor_method_synthesis archive method)) {#Override method} - (\ phase.monad each (|>> #Override) + (\ phase.monad each (|>> {#Override}) (override_method_synthesis archive method)) {#Virtual method} - (\ phase.monad each (|>> #Virtual) + (\ phase.monad each (|>> {#Virtual}) (virtual_method_synthesis archive method)) {#Static method} - (\ phase.monad each (|>> #Static) + (\ phase.monad each (|>> {#Static}) (static_method_synthesis archive method)) {#Abstract method} @@ -1303,7 +1303,7 @@ (do ! [bodyG (generate archive (//G.hidden_method_body (list.size arguments) bodyS)) .let [argumentsT (list\each product.right arguments)]] - (in (def.method #jvm.Public + (in (def.method {jvm.#Public} (if strict_floating_point? jvm.strictM jvm.noneM) @@ -1387,13 +1387,13 @@ {#Override [[parent_name parent_variables] method_name strict_floating_point? annotations variables self arguments return exceptions body]} - {#.Some [(/type.class parent_name parent_variables) method_name + {.#Some [(/type.class parent_name parent_variables) method_name strict_floating_point? (list) variables self arguments return exceptions body]} _ - #.None)) + {.#None})) (def: (jvm::class class_loader) (-> java/lang/ClassLoader ..Handler) @@ -1435,7 +1435,7 @@ methodsS (monad.each ! (method_synthesis archive) methodsA) methodsG (monad.each ! (method_generation archive super_class) methodsS) .let [directive [class_name - (def.class #jvm.V1_6 #jvm.Public jvm.noneC class_name + (def.class {jvm.#V1_6} {jvm.#Public} jvm.noneC class_name (list\each ..constraint type_variables) super_class super_interfaces @@ -1445,7 +1445,7 @@ (do ! [artifact_id (generation.learn_custom class_name) _ (generation.execute! directive) - _ (generation.save! artifact_id {#.Some class_name} directive) + _ (generation.save! artifact_id {.#Some class_name} directive) _ (generation.log! (format "JVM Class " (%.text class_name)))] (in directive.no_requirements)))))])) @@ -1460,19 +1460,19 @@ (function (_ extension_name phase archive [[class_name type_variables] supers annotations method_declarations]) (do [! phase.monad] [.let [directive [class_name - (def.interface #jvm.V1_6 #jvm.Public jvm.noneC class_name + (def.interface {jvm.#V1_6} {jvm.#Public} jvm.noneC class_name (list\each ..constraint type_variables) supers (|> method_declarations (list\each (function (_ (^slots [#name #annotations #type_variables #exceptions #arguments #return])) - (def.abstract_method #jvm.Public jvm.noneM name + (def.abstract_method {jvm.#Public} jvm.noneM name (/type.method [type_variables arguments return exceptions])))) def.fuse))]]] (directive.lifted_generation (do ! [artifact_id (generation.learn_custom class_name) _ (generation.execute! directive) - _ (generation.save! artifact_id {#.Some class_name} directive) + _ (generation.save! artifact_id {.#Some class_name} directive) _ (generation.log! (format "JVM Interface " (%.text class_name)))] (in directive.no_requirements)))))])) -- cgit v1.2.3