|
@@ -0,0 +1,107 @@
|
|
|
+import haxe.macro.Context;
|
|
|
+import haxe.macro.Expr;
|
|
|
+
|
|
|
+class Main2 {
|
|
|
+ static function main() {
|
|
|
+ invalidVariable("0_variable");
|
|
|
+ invalidVariable("var");
|
|
|
+ invalidVariable("new");
|
|
|
+ invalidVariable("foo \"\t\n");
|
|
|
+ invalidCatchVariable();
|
|
|
+ invalidFunctionName();
|
|
|
+ invalidFunctionArgumentName();
|
|
|
+ invalidPatternVariable();
|
|
|
+ invalidForVariable();
|
|
|
+ invalidForVariableKeyValue();
|
|
|
+ }
|
|
|
+
|
|
|
+ static macro function invalidVariable(name:String) {
|
|
|
+ return {
|
|
|
+ expr: EVars([{name: name, type: null, expr: null}]),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ static macro function invalidCatchVariable() {
|
|
|
+ return {
|
|
|
+ expr: ETry(macro {}, [{name: "0_catchVariable", type: macro:Dynamic, expr: macro {}}]),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ static macro function invalidFunctionName() {
|
|
|
+ return {
|
|
|
+ expr: EFunction(FNamed("0_function", false), {
|
|
|
+ args: [],
|
|
|
+ ret: macro:Void,
|
|
|
+ expr: macro {}
|
|
|
+ }),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ static macro function invalidFunctionArgumentName() {
|
|
|
+ return {
|
|
|
+ expr: EFunction(FNamed("foo", false), {
|
|
|
+ args: [
|
|
|
+ {
|
|
|
+ name: "0_argument",
|
|
|
+ type: macro:Int
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ ret: macro:Void,
|
|
|
+ expr: macro {}
|
|
|
+ }),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ static macro function invalidPatternVariable() {
|
|
|
+ return {
|
|
|
+ expr: ESwitch(macro "", [
|
|
|
+ {
|
|
|
+ values: [
|
|
|
+ {
|
|
|
+ expr: EConst(CIdent("0_patternVariable")),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ expr: macro {}
|
|
|
+ }
|
|
|
+ ], null),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ static macro function invalidForVariable() {
|
|
|
+ return {
|
|
|
+ expr: EFor({
|
|
|
+ expr: EBinop(OpIn, {
|
|
|
+ expr: EConst(CIdent("0_forVariable")),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ }, macro []),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ }, macro {}),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ static macro function invalidForVariableKeyValue() {
|
|
|
+ return {
|
|
|
+ expr: EFor({
|
|
|
+ expr: EBinop(OpIn, {
|
|
|
+ expr: EBinop(OpArrow, {
|
|
|
+ expr: EConst(CIdent("0_forVariableKey")),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ }, {
|
|
|
+ expr: EConst(CIdent("0_forVariableValue")),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ }),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ }, macro new Map()),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ }, macro {}),
|
|
|
+ pos: Context.currentPos()
|
|
|
+ };
|
|
|
+ }
|
|
|
+}
|