From aa4328aabb81c97f7f7b2ad6ce5ac1a9bb569738 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Thu, 29 Jun 2023 17:03:51 -0600 Subject: [PATCH] importWithDefAlias also define &ident alias --- src/kiss/Helpers.hx | 1 - src/kiss/Macros.hx | 7 +++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/kiss/Helpers.hx b/src/kiss/Helpers.hx index 8ec8b1b..e67b6c8 100644 --- a/src/kiss/Helpers.hx +++ b/src/kiss/Helpers.hx @@ -76,7 +76,6 @@ class Helpers { return tokens.join(""); } - public static function parseComplexType(path:String, k:KissState, ?from:ReaderExp, mustResolve=false):ComplexType { path = replaceTypeAliases(path, k); diff --git a/src/kiss/Macros.hx b/src/kiss/Macros.hx index 76b16fb..0763ec6 100644 --- a/src/kiss/Macros.hx +++ b/src/kiss/Macros.hx @@ -658,7 +658,7 @@ class Macros { var extractString = false; function getAliasName(k:KissState, nameExpWithMeta:ReaderExp, formName:String):String { - var error = KissError.fromExp(nameExpWithMeta, 'first argument to $formName should be &call [alias] or &ident [alias]'); + var error = KissError.fromExp(nameExpWithMeta, 'first argument to $formName should be &call or &ident or &type '); var nameExp = switch (nameExpWithMeta.def) { case MetaExp("call", nameExp): extractString = false; @@ -1478,7 +1478,10 @@ class Macros { throw KissError.fromExp(wholeExp, "the only argument to (import) when using (importWithDefAlias) should be a symbol of a type path"); }; var baseType = type.split(".").pop(); - b.callSymbol("defAlias", [b.meta("type", b.symbol(baseType)), args[0]]); + b.begin([ + b.callSymbol("defAlias", [b.meta("type", b.symbol(baseType)), args[0]]), + b.callSymbol("defAlias", [b.meta("ident", b.symbol(baseType)), args[0]]) + ]); }; null; };