aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/ffi.jvm.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/library/lux/ffi.jvm.lux27
1 files changed, 13 insertions, 14 deletions
diff --git a/stdlib/source/library/lux/ffi.jvm.lux b/stdlib/source/library/lux/ffi.jvm.lux
index 881c3f79d..b265e3e42 100644
--- a/stdlib/source/library/lux/ffi.jvm.lux
+++ b/stdlib/source/library/lux/ffi.jvm.lux
@@ -720,11 +720,12 @@
(-> (List (Type Var)) (Parser [Member_Declaration MethodDecl]))
(<code>.form (do <>.monad
[tvars (<>.default (list) ..vars^)
+ #let [total_vars (list\compose tvars type_vars)]
name <code>.local_identifier
anns ..annotations^
- inputs (<code>.tuple (<>.some (..type^ type_vars)))
- output (..return^ type_vars)
- exs (throws_decl^ type_vars)]
+ inputs (<code>.tuple (<>.some (..type^ total_vars)))
+ output (..return^ total_vars)
+ exs (throws_decl^ total_vars)]
(wrap [[name #PublicP anns] {#method_tvars tvars
#method_inputs inputs
#method_output output
@@ -1203,7 +1204,8 @@
(#private baz java/lang/Object)
## Methods
(#public [] (new [value A]) []
- (exec (:= ::foo #1)
+ (exec
+ (:= ::foo #1)
(:= ::bar value)
(:= ::baz "")
[]))
@@ -1225,15 +1227,14 @@
"(::resolve! container [value]) for calling the 'resolve' method."
)}
(do meta.monad
- [current_module meta.current_module_name
- #let [fully_qualified_class_name (name.qualify current_module full_class_name)
+ [#let [fully_qualified_class_name full_class_name
field_parsers (list\map (field->parser fully_qualified_class_name) fields)
method_parsers (list\map (method->parser fully_qualified_class_name) methods)
replacer (parser->replacer (list\fold <>.either
(<>.fail "")
(list\compose field_parsers method_parsers)))]]
(wrap (list (` ("jvm class"
- (~ (declaration$ (type.declaration (name.qualify current_module full_class_name) class_vars)))
+ (~ (declaration$ (type.declaration full_class_name class_vars)))
(~ (class$ super))
[(~+ (list\map class$ interfaces))]
(~ (inheritance_modifier$ im))
@@ -1251,13 +1252,11 @@
{#.doc (doc "Allows defining JVM interfaces."
(interface: TestInterface
([] foo [boolean String] void #throws [Exception])))}
- (do meta.monad
- [current_module meta.current_module_name]
- (wrap (list (` ("jvm class interface"
- (~ (declaration$ (type.declaration (name.qualify current_module full_class_name) class_vars)))
- [(~+ (list\map class$ supers))]
- [(~+ (list\map annotation$ annotations))]
- (~+ (list\map method_decl$ members))))))))
+ (wrap (list (` ("jvm class interface"
+ (~ (declaration$ (type.declaration full_class_name class_vars)))
+ [(~+ (list\map class$ supers))]
+ [(~+ (list\map annotation$ annotations))]
+ (~+ (list\map method_decl$ members)))))))
(syntax: #export (object
{class_vars ..vars^}