diff options
author | Eduardo Julian | 2022-01-19 22:30:05 -0400 |
---|---|---|
committer | Eduardo Julian | 2022-01-19 22:30:05 -0400 |
commit | c98d05fcb43714dc7e2ce07ab3fa17b78f21b3bf (patch) | |
tree | 99704fb276b197d2b3295fc1304f3f493828556d /stdlib/source/library/lux/target/jvm/type/parser.lux | |
parent | e3dc47dafccb1d21a5c162e4329afd72ddb00650 (diff) |
Fixes for the pure-Lux JVM compiler machinery. [Part 9]
Diffstat (limited to 'stdlib/source/library/lux/target/jvm/type/parser.lux')
-rw-r--r-- | stdlib/source/library/lux/target/jvm/type/parser.lux | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/stdlib/source/library/lux/target/jvm/type/parser.lux b/stdlib/source/library/lux/target/jvm/type/parser.lux index 5aa5fc3f1..76289b082 100644 --- a/stdlib/source/library/lux/target/jvm/type/parser.lux +++ b/stdlib/source/library/lux/target/jvm/type/parser.lux @@ -200,9 +200,17 @@ (def: exception (Parser (Type Class)) - (|> (..class' ..parameter) + (|> ..class (<>.after (<text>.this //signature.exception_prefix)))) +(def: .public var_declaration + (Parser [(Type Var) (Type Class)]) + (do <>.monad + [name ..var_name + _ (<text>.this //signature.format_type_parameter_infix) + type ..class] + (in [(//.var name) type]))) + (def: .public method (-> (Type Method) [(List (Type Var)) @@ -214,7 +222,7 @@ (Type Return) (List (Type Class))]) ($_ <>.and - (|> (<>.some ..var) + (|> (<>.some (<>#each product.left ..var_declaration)) (<>.after (<text>.this //signature.parameters_start)) (<>.before (<text>.this //signature.parameters_end)) (<>.else (list))) |