(.module: [lux #* [abstract ["." equivalence (#+ Equivalence)]] [data [format [".F" binary (#+ Format)]]]] ["." // #_ ["#." label (#+ Label)] ["//#" /// #_ [constant (#+ Class)] ["#." index (#+ Index)] [encoding ["#." unsigned (#+ U2)]]]]) (type: #export Exception {#start-pc Label #end-pc Label #handler-pc Label #catch-type (Index Class)}) (def: #export equivalence (Equivalence Exception) ($_ equivalence.product //label.equivalence //label.equivalence //label.equivalence ////index.equivalence )) ## https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.3 (def: #export length Nat ($_ n/+ ## u2 start_pc; ////unsigned.u2-bytes ## u2 end_pc; ////unsigned.u2-bytes ## u2 handler_pc; ////unsigned.u2-bytes ## u2 catch_type; ////unsigned.u2-bytes )) (def: #export format (Format Exception) ($_ binaryF.and //label.format //label.format //label.format ////index.format ))