diff options
Diffstat (limited to 'stdlib/source/library/lux/meta/target/jvm/method.lux')
-rw-r--r-- | stdlib/source/library/lux/meta/target/jvm/method.lux | 13 |
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} |