aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/target/jvm/attribute/code.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/target/jvm/attribute/code.lux')
-rw-r--r--stdlib/source/lux/target/jvm/attribute/code.lux17
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))