aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/target/jvm/type/alias.lux
diff options
context:
space:
mode:
authorEduardo Julian2021-07-20 16:19:43 -0400
committerEduardo Julian2021-07-20 16:19:43 -0400
commit461a6ce673de9b2c3d77714c4884c2a316fe7e8f (patch)
tree9522fbf422dea7935ca167f425c8bacce0f76b63 /stdlib/source/library/lux/target/jvm/type/alias.lux
parenta1c192d175f13cdb3e69b3ca5985d0d5ecf0fe93 (diff)
Updated the Scriptum documentation generator.
Diffstat (limited to 'stdlib/source/library/lux/target/jvm/type/alias.lux')
-rw-r--r--stdlib/source/library/lux/target/jvm/type/alias.lux41
1 files changed, 26 insertions, 15 deletions
diff --git a/stdlib/source/library/lux/target/jvm/type/alias.lux b/stdlib/source/library/lux/target/jvm/type/alias.lux
index d52051f04..594a75562 100644
--- a/stdlib/source/library/lux/target/jvm/type/alias.lux
+++ b/stdlib/source/library/lux/target/jvm/type/alias.lux
@@ -103,18 +103,29 @@
(|> (..class (..parameter aliasing))
(<>.after (<text>.this //signature.exception_prefix))))
-(def: #export (method aliasing type)
- (-> Aliasing (Type Method) (Type Method))
- (|> type
- //.signature
- //signature.signature
- (<text>.run (do <>.monad
- [type_variables (|> (<>.some (..var aliasing))
- (<>.after (<text>.this //signature.parameters_start))
- (<>.before (<text>.this //signature.parameters_end))
- (<>.default (list)))
- inputs (..inputs aliasing)
- return (..return aliasing)
- exceptions (<>.some (..exception aliasing))]
- (wrap (//.method [type_variables inputs return exceptions]))))
- try.assume))
+(def: (bound aliasing)
+ (-> Aliasing (Parser (Type Class)))
+ (do <>.monad
+ [_ (<text>.this ":")]
+ (..class (..parameter aliasing))))
+
+(def: (bound_type_var aliasing)
+ (-> Aliasing (Parser (Type Var)))
+ (|> //parser.var_name
+ (\ <>.monad map //.var)
+ (<>.before (<>.many (..bound aliasing)))))
+
+(def: #export (method aliasing)
+ (-> Aliasing (-> (Type Method) (Type Method)))
+ (|>> //.signature
+ //signature.signature
+ (<text>.run (do <>.monad
+ [type_variables (|> (<>.some (..bound_type_var aliasing))
+ (<>.after (<text>.this //signature.parameters_start))
+ (<>.before (<text>.this //signature.parameters_end))
+ (<>.default (list)))
+ inputs (..inputs aliasing)
+ return (..return aliasing)
+ exceptions (<>.some (..exception aliasing))]
+ (wrap (//.method [type_variables inputs return exceptions]))))
+ try.assume))