diff options
Diffstat (limited to 'stdlib/source/library/lux/meta/target/jvm/type/category.lux')
-rw-r--r-- | stdlib/source/library/lux/meta/target/jvm/type/category.lux | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/stdlib/source/library/lux/meta/target/jvm/type/category.lux b/stdlib/source/library/lux/meta/target/jvm/type/category.lux new file mode 100644 index 000000000..7cae42458 --- /dev/null +++ b/stdlib/source/library/lux/meta/target/jvm/type/category.lux @@ -0,0 +1,38 @@ +(.require + [library + [lux (.except Primitive) + [meta + [macro + ["[0]" template]] + [type + [primitive (.except)]]]]]) + +(primitive Void' Any) +(primitive .public (Value' kind) Any) +(primitive .public (Return' kind) Any) +(primitive .public Method Any) + +(type .public Return (<| Return' Any)) +(type .public Value (<| Return' Value' Any)) +(type .public Void (<| Return' Void')) + +(primitive (Object' brand) Any) +(type .public Object (<| Return' Value' Object' Any)) + +(primitive (Parameter' brand) Any) +(type .public Parameter (<| Return' Value' Object' Parameter' Any)) + +(with_template [<parents> <child>] + [(with_expansions [<raw> (template.symbol [<child> "'"])] + (primitive <raw> Any) + (type .public <child> + (`` (<| Return' Value' (,, (template.spliced <parents>)) <raw>))))] + + [[] Primitive] + [[Object' Parameter'] Var] + [[Object' Parameter'] Class] + [[Object' Parameter'] Array] + ) + +(primitive .public Declaration Any) +(primitive .public Inheritance Any) |