aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/meta/target/jvm/method.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/library/lux/meta/target/jvm/method.lux')
-rw-r--r--stdlib/source/library/lux/meta/target/jvm/method.lux13
1 files changed, 10 insertions, 3 deletions
diff --git a/stdlib/source/library/lux/meta/target/jvm/method.lux b/stdlib/source/library/lux/meta/target/jvm/method.lux
index ec4780b0f..629aaae94 100644
--- a/stdlib/source/library/lux/meta/target/jvm/method.lux
+++ b/stdlib/source/library/lux/meta/target/jvm/method.lux
@@ -73,13 +73,20 @@
(in environment)
{try.#Failure error}
- (function (_ _) {try.#Failure error}))
- [environment exceptions instruction output] (//bytecode.resolve environment code)
+ (function (_ _)
+ {try.#Failure error}))
+ [environment line_number_table exceptions instruction output] (//bytecode.resolve environment code)
.let [bytecode (|> instruction //instruction.result \\format.instance)]
+ code_attributes (is (Resource (Sequence Attribute))
+ (if (sequence.empty? line_number_table)
+ (in sequence.empty)
+ (do !
+ [@line_number_table (//attribute.line_number_table line_number_table)]
+ (in (sequence.sequence @line_number_table)))))
@code (//attribute.code [//code.#limit (the //environment.#limit environment)
//code.#code bytecode
//code.#exception_table exceptions
- //code.#attributes (sequence.sequence)])]
+ //code.#attributes code_attributes])]
(in (sequence.suffix @code attributes)))
{.#None}