diff options
Diffstat (limited to 'stdlib/source/lux/target/jvm/attribute/code.lux')
-rw-r--r-- | stdlib/source/lux/target/jvm/attribute/code.lux | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/stdlib/source/lux/target/jvm/attribute/code.lux b/stdlib/source/lux/target/jvm/attribute/code.lux index 88b4eb7c9..68c651ba5 100644 --- a/stdlib/source/lux/target/jvm/attribute/code.lux +++ b/stdlib/source/lux/target/jvm/attribute/code.lux @@ -13,14 +13,15 @@ [collection ["." row (#+ Row) ("#@." functor fold)]]]] ["." /// #_ + [code + ["#." resources (#+ Resources)]] [encoding ["#." unsigned (#+ U2)]]] ["." / #_ ["#." exception (#+ Exception)]]) (type: #export (Code Attribute) - {#max-stack U2 - #max-locals U2 + {#resources Resources #code Binary #exception-table (Row Exception) #attributes (Row Attribute)}) @@ -29,9 +30,8 @@ (All [Attribute] (-> (-> Attribute Nat) (Code Attribute) Nat)) ($_ n/+ ## u2 max_stack; - ///unsigned.u2-bytes ## u2 max_locals; - ///unsigned.u2-bytes + ///resources.length ## u4 code_length; ///unsigned.u4-bytes ## u1 code[code_length]; @@ -55,8 +55,7 @@ (All [attribute] (-> (Equivalence attribute) (Equivalence (Code attribute)))) ($_ equivalence.product - ///unsigned.equivalence - ///unsigned.equivalence + ///resources.equivalence binary.equivalence (row.equivalence /exception.equivalence) (row.equivalence attribute-equivalence) @@ -67,9 +66,8 @@ (All [Attribute] (-> (Parser Attribute) (Parser (Code Attribute)))) ($_ <>.and ## u2 max_stack; - ///unsigned.u2-parser ## u2 max_locals; - ///unsigned.u2-parser + ///resources.parser ## u4 code_length; ## u1 code[code_length]; <2>.binary/32 @@ -85,9 +83,8 @@ (All [Attribute] (-> (Writer Attribute) (Writer (Code Attribute)))) ($_ binaryF@compose ## u2 max_stack; - (///unsigned.u2-writer (get@ #max-stack code)) ## u2 max_locals; - (///unsigned.u2-writer (get@ #max-locals code)) + (///resources.writer (get@ #resources code)) ## u4 code_length; ## u1 code[code_length]; (binaryF.binary/32 (get@ #code code)) |