Browse Source

haxe4 fixes

Nicolas Cannasse 8 years ago
parent
commit
27889a64e0
3 changed files with 10 additions and 0 deletions
  1. 3 0
      hxsl/Eval.hx
  2. 4 0
      hxsl/MacroParser.hx
  3. 3 0
      hxsl/Printer.hx

+ 3 - 0
hxsl/Eval.hx

@@ -368,6 +368,9 @@ class Eval {
 			case OpLte: compare(function(x) return x <= 0);
 			case OpInterval, OpAssign, OpAssignOp(_): TBinop(op, e1, e2);
 			case OpArrow: throw "assert";
+			#if (haxe_ver >= 4)
+			case OpIn: throw "assert";
+			#end
 			}
 		case TUnop(op, e):
 			var e = evalExpr(e);

+ 4 - 0
hxsl/MacroParser.hx

@@ -212,7 +212,11 @@ class MacroParser {
 			EParenthesis(parseExpr(e));
 		case EIf(cond, eif, eelse), ETernary(cond, eif, eelse):
 			EIf(parseExpr(cond), parseExpr(eif), eelse == null ? null : parseExpr(eelse));
+		#if (haxe_ver >= 4)
+		case EFor({ expr : EBinop(OpIn,{ expr : EConst(CIdent(n)) }, eloop) },eblock):
+		#else
 		case EFor( { expr : EIn( { expr : EConst(CIdent(n)) }, eloop) }, eblock):
+		#end
 			EFor(n, parseExpr(eloop), parseExpr(eblock));
 		case EReturn(e):
 			EReturn(e == null ? null : parseExpr(e));

+ 3 - 0
hxsl/Printer.hx

@@ -321,6 +321,9 @@ class Printer {
 		case OpAssignOp(op):opStr(op) + "=";
 		case OpArrow:"=>";
 		case OpInterval:"...";
+		#if (haxe_ver >= 4)
+		case OpIn: " in ";
+		#end
 		}
 	}