123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- 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"), {
- args: [],
- ret: macro:Void,
- expr: macro {}
- }),
- pos: Context.currentPos()
- };
- }
- static macro function invalidFunctionArgumentName() {
- return {
- expr: EFunction(FNamed("foo"), {
- 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()
- };
- }
- }
|