Browse Source

deal with "Dynamic should be Void" cases

Simon Krajewski 11 years ago
parent
commit
0e8dfda2b7
3 changed files with 5 additions and 9 deletions
  1. 1 1
      std/python/Boot.hx
  2. 1 3
      std/python/Syntax.hx
  3. 3 5
      std/python/internal/ArrayImpl.hx

+ 1 - 1
std/python/Boot.hx

@@ -102,7 +102,7 @@ import math as _hx_math
 		return Syntax.callField(builtin, "callable", o);
 	}
 	static function inspectGetMembers(o:Dynamic, f:String->Bool):Void {
-		return Syntax.callField(inspect, "getmembers", o, f);
+		Syntax.callField(inspect, "getmembers", o, f);
 	}
 
 	static function inspectIsClass(o:Dynamic):Bool {

+ 1 - 3
std/python/Syntax.hx

@@ -97,9 +97,7 @@ extern class Syntax {
 
 	@:noUsing
 	macro public static function callField(o:Expr, field:ExprOf<String>, params:Array<Expr>):haxe.macro.Expr {
-		var e = macro $self.call($self.field($o, $field), $a{params});
-		e = macro untyped $e; // check "Dynamic should be Void" cases
-		return e;
+		return macro @:pos(o.pos) $self.call($self.field($o, $field), $a{params});
 	}
 
 	static function call(e:Dynamic, args:Array<Dynamic>):Dynamic { return null; }

+ 3 - 5
std/python/internal/ArrayImpl.hx

@@ -132,15 +132,13 @@ class ArrayImpl {
 	}
 
 	public static inline function insert<T>(a:Array<T>, pos : Int, x : T ) : Void {
-		return Syntax.callField(a, "insert", pos, x);
-
+		Syntax.callField(a, "insert", pos, x);
 	}
+
 	public static inline function reverse<T>(a:Array<T>) : Void {
-		return Syntax.callField(a, "reverse");
+		Syntax.callField(a, "reverse");
 	}
 
-
-
 	@:keep private static inline function __get<T>(x:Array<T>, idx:Int):T
 	{
 		return if (idx < x.length && idx > -1) Syntax.arrayAccess(x, idx) else null;