diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/library/lux/target/jvm/type/signature.lux | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/stdlib/source/library/lux/target/jvm/type/signature.lux b/stdlib/source/library/lux/target/jvm/type/signature.lux index 84a6a5982..4ebdb9248 100644 --- a/stdlib/source/library/lux/target/jvm/type/signature.lux +++ b/stdlib/source/library/lux/target/jvm/type/signature.lux @@ -18,15 +18,17 @@ [encoding ["#." name (#+ External)]]]]) -(abstract: #export (Signature category) +(abstract: .public (Signature category) + {} + Text - (def: #export signature + (def: .public signature (-> (Signature Any) Text) (|>> :representation)) (template [<category> <name> <descriptor>] - [(def: #export <name> + [(def: .public <name> (Signature <category>) (:abstraction (//descriptor.descriptor <descriptor>)))] @@ -41,34 +43,34 @@ [Primitive char //descriptor.char] ) - (def: #export array + (def: .public array (-> (Signature Value) (Signature Array)) (|>> :representation (format //descriptor.array_prefix) :abstraction)) - (def: #export wildcard + (def: .public wildcard (Signature Parameter) (:abstraction "*")) - (def: #export var_prefix "T") + (def: .public var_prefix "T") - (def: #export var + (def: .public var (-> Text (Signature Var)) (|>> (text.enclosed [..var_prefix //descriptor.class_suffix]) :abstraction)) - (def: #export var_name + (def: .public var_name (-> (Signature Var) Text) (|>> :representation (text.replace_all ..var_prefix "") (text.replace_all //descriptor.class_suffix ""))) - (def: #export lower_prefix "-") - (def: #export upper_prefix "+") + (def: .public lower_prefix "-") + (def: .public upper_prefix "+") (template [<name> <prefix>] - [(def: #export <name> + [(def: .public <name> (-> (Signature Class) (Signature Parameter)) (|>> :representation (format <prefix>) :abstraction))] @@ -76,10 +78,10 @@ [upper ..upper_prefix] ) - (def: #export parameters_start "<") - (def: #export parameters_end ">") + (def: .public parameters_start "<") + (def: .public parameters_end ">") - (def: #export (class name parameters) + (def: .public (class name parameters) (-> External (List (Signature Parameter)) (Signature Class)) (:abstraction (format //descriptor.class_prefix @@ -96,25 +98,25 @@ ..parameters_end)) //descriptor.class_suffix))) - (def: #export (declaration name variables) + (def: .public (declaration name variables) (-> External (List (Signature Var)) (Signature Declaration)) (:transmutation (..class name variables))) - (def: #export as_class + (def: .public as_class (-> (Signature Declaration) (Signature Class)) (|>> :transmutation)) - (def: #export arguments_start "(") - (def: #export arguments_end ")") + (def: .public arguments_start "(") + (def: .public arguments_end ")") - (def: #export exception_prefix "^") + (def: .public exception_prefix "^") (def: class_bound (|> (..class "java.lang.Object" (list)) ..signature (format ":"))) - (def: #export (method [type_variables inputs output exceptions]) + (def: .public (method [type_variables inputs output exceptions]) (-> [(List (Signature Var)) (List (Signature Value)) (Signature Return) @@ -141,14 +143,14 @@ (list\map (|>> :representation (format ..exception_prefix))) (text.join_with ""))))) - (implementation: #export equivalence + (implementation: .public equivalence (All [category] (Equivalence (Signature category))) (def: (= parameter subject) (text\= (:representation parameter) (:representation subject)))) - (implementation: #export hash + (implementation: .public hash (All [category] (Hash (Signature category))) (def: &equivalence ..equivalence) |