Allow macros to define more than one field

This commit is contained in:
2021-04-02 12:32:58 -06:00
parent a75dd13903
commit 1e3fe69bb4
5 changed files with 50 additions and 19 deletions

View File

@@ -0,0 +1,17 @@
package test.cases;
import utest.Test;
import utest.Assert;
import kiss.Prelude;
import kiss.List;
import haxe.ds.Option;
using StringTools;
@:build(kiss.Kiss.build("kiss/src/test/cases/MacroTestCase.kiss"))
class MacroTestCase extends Test {
function testMultipleFieldForms() {
Assert.equals(5, myVar);
Assert.equals(6, myFunc());
}
}

View File

@@ -0,0 +1,6 @@
(defmacro defMultiple [varName funcName]
`{
(defvar ,varName 5)
(defun ,funcName [] 6)})
(defMultiple myVar myFunc)