From 6f55815f7f237df406e72c7a723055bb6238fce5 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Mon, 24 Jan 2022 04:44:32 -0400 Subject: Fixed compilation of methods for anonymous classes. --- lux-jvm/source/luxc/lang/directive/jvm.lux | 145 +++++++++++++++-------------- 1 file changed, 73 insertions(+), 72 deletions(-) (limited to 'lux-jvm/source/luxc/lang/directive/jvm.lux') diff --git a/lux-jvm/source/luxc/lang/directive/jvm.lux b/lux-jvm/source/luxc/lang/directive/jvm.lux index 3c384b475..009bec5b4 100644 --- a/lux-jvm/source/luxc/lang/directive/jvm.lux +++ b/lux-jvm/source/luxc/lang/directive/jvm.lux @@ -1,72 +1,73 @@ (.using - [library - [lux {"-" Type Primitive static local} - ["[0]" ffi {"+" Inheritance Privacy State import:}] - [abstract - ["[0]" monad {"+" do}]] - [control - [pipe {"+" case>}] - ["[0]" try {"+" Try}] - ["<>" parser - ["<[0]>" code {"+" Parser}] - ["<[0]>" text]]] - [data - [identity {"+" Identity}] - [binary {"+" Binary}] - ["[0]" product] - [text - ["%" format {"+" format}]] - [collection - [array {"+" Array}] - ["[0]" list ("[1]#[0]" mix functor monoid)] - ["[0]" dictionary {"+" Dictionary}] - ["[0]" sequence {"+" Sequence} ("[1]#[0]" functor mix)] - ["[0]" set {"+" Set}]]] - [math - [number - ["[0]" nat]]] - [target - ["/" jvm - [encoding - ["[0]" name {"+" External}]] - ["[1][0]" type {"+" Type Typed Constraint} - [category {"+" Void Value Return Primitive Object Class Var Parameter}] - ["[0]" parser] - ["[0]T" lux] - ["[1]/[0]" signature] - ["[1]/[0]" descriptor]]]] - [tool - [compiler - ["[0]" phase] - [language - [lux - ["[0]" analysis {"+" Analysis}] - ["[0]" synthesis {"+" Synthesis}] - ["[0]" generation] - ["[0]" directive {"+" Requirements}] - [phase + [library + [lux {"-" Type Primitive static local} + ["[0]" ffi {"+" Inheritance Privacy State import:}] + [abstract + ["[0]" monad {"+" do}]] + [control + [pipe {"+" case>}] + ["[0]" try {"+" Try}] + ["<>" parser + ["<[0]>" code {"+" Parser}] + ["<[0]>" text]]] + [data + [identity {"+" Identity}] + [binary {"+" Binary}] + ["[0]" product] + [text + ["%" format {"+" format}]] + [collection + [array {"+" Array}] + ["[0]" list ("[1]#[0]" mix functor monoid)] + ["[0]" dictionary {"+" Dictionary}] + ["[0]" sequence {"+" Sequence} ("[1]#[0]" functor mix)] + ["[0]" set {"+" Set}]]] + [math + [number + ["[0]" nat]]] + [target + ["/" jvm + [encoding + ["[0]" name {"+" External}]] + ["[1][0]" type {"+" Type Typed Constraint} + [category {"+" Void Value Return Primitive Object Class Var Parameter}] + ["[0]" parser] + ["[0]T" lux] + ["[1]/[0]" signature] + ["[1]/[0]" descriptor]]]] + [tool + [compiler + ["[0]" phase] + [language + [lux + ["[0]" analysis {"+" Analysis}] + ["[0]" synthesis {"+" Synthesis}] + ["[0]" generation] + ["[0]" directive {"+" Requirements}] + [phase + [analysis + ["[0]A" scope] + ["[0]A" type]] + ["[0]" extension + ["[0]" bundle] [analysis - ["[0]A" scope] - ["[0]A" type]] - ["[0]" extension - ["[0]" bundle] - [analysis - ["//A" jvm]] - [directive - ["[0]/" lux]]]]]] - [meta - [archive {"+" Archive} - ["[0]" artifact] - ["[0]" dependency]]]]]]] - [/// - [host - ["[0]" jvm {"+" Inst} - ["_" inst] - ["[0]" def]]] - [translation - [jvm - [extension - ["//G" host]]]]]) + ["//A" jvm]] + [directive + ["[0]/" lux]]]]]] + [meta + [archive {"+" Archive} + ["[0]" artifact]] + ["[0]" cache "_" + ["[1]" artifact]]]]]]] + [/// + [host + ["[0]" jvm {"+" Inst} + ["_" inst] + ["[0]" def]]] + [translation + [jvm + [extension + ["//G" host]]]]]) (import: org/objectweb/asm/Label ["[1]::[0]" @@ -734,10 +735,10 @@ self arguments constructor_arguments body]} (do [! phase.monad] - [all_super_ctor_dependencies (monad.each ! (|>> product.right (dependency.dependencies archive)) + [all_super_ctor_dependencies (monad.each ! (|>> product.right (cache.dependencies archive)) constructor_arguments) - body_dependencies (dependency.dependencies archive body)] - (in (dependency.all (list& body_dependencies all_super_ctor_dependencies)))) + body_dependencies (cache.dependencies archive body)] + (in (cache.all (list& body_dependencies all_super_ctor_dependencies)))) (^or {#Override [[parent_name parent_variables] name strict_floating_point? annotations variables @@ -749,7 +750,7 @@ {#Static [name privacy strict_floating_point? annotations variables arguments return exceptions body]}) - (dependency.dependencies archive body) + (cache.dependencies archive body) {#Abstract _} (# phase.monad in artifact.no_dependencies))) @@ -1468,7 +1469,7 @@ methodsG (monad.each ! (method_generation archive super_class) methodsS) all_dependencies (|> methodsS (monad.each ! (method_dependencies archive)) - (# ! each dependency.all) + (# ! each cache.all) directive.lifted_generation) .let [directive [class_name (def.class {jvm.#V1_6} {jvm.#Public} jvm.noneC class_name -- cgit v1.2.3