Browse Source

[cs] remove some @:functionCode

Dan Korostelev 10 years ago
parent
commit
c3da3362ff
1 changed files with 22 additions and 52 deletions
  1. 22 52
      std/cs/internal/Runtime.hx

+ 22 - 52
std/cs/internal/Runtime.hx

@@ -73,12 +73,9 @@ import cs.system.Object;
 {
 	@:readOnly public static var undefined(default, never):Dynamic = new cs.system.Object();
 
-	@:functionCode('
-		return new haxe.lang.Closure(obj, field, hash);
-	')
 	public static function closure(obj:Dynamic, hash:Int, field:String):Dynamic
 	{
-		return null;
+		return new cs.internal.Function.Closure(obj, field, hash);
 	}
 
 	public static function eq(v1:Dynamic, v2:Dynamic):Bool
@@ -697,72 +694,48 @@ import cs.system.Object;
 		return Runtime.callMethod(obj, mis, last, args);
 	}
 
-	@:functionCode('
-		haxe.lang.HxObject hxObj = obj as haxe.lang.HxObject;
-		if (hxObj != null)
-			return hxObj.__hx_invokeField(field, (fieldHash == 0) ? haxe.lang.FieldLookup.hash(field) : fieldHash, args);
-
-		return slowCallField(obj, field, args);
-	')
 	public static function callField(obj:Dynamic, field:String, fieldHash:Int, args:Array<Dynamic>):Dynamic
 	{
-		return null;
+		var hxObj = Lib.as(obj, HxObject);
+		if (hxObj != null)
+			return untyped hxObj.__hx_invokeField(field, (fieldHash == 0) ? FieldLookup.hash(field) : fieldHash, args);
+		return slowCallField(obj, field, args);
 	}
 
-	@:functionCode('
-
-		haxe.lang.HxObject hxObj = obj as haxe.lang.HxObject;
+	public static function getField(obj:Dynamic, field:String, fieldHash:Int, throwErrors:Bool):Dynamic
+	{
+		var hxObj = Lib.as(obj, HxObject);
 		if (hxObj != null)
-			return hxObj.__hx_getField(field, (fieldHash == 0) ? haxe.lang.FieldLookup.hash(field) : fieldHash, throwErrors, false, false);
+			return untyped hxObj.__hx_getField(field, (fieldHash == 0) ? FieldLookup.hash(field) : fieldHash, throwErrors, false, false);
 
 		return slowGetField(obj, field, throwErrors);
-
-	')
-	public static function getField(obj:Dynamic, field:String, fieldHash:Int, throwErrors:Bool):Dynamic
-	{
-		return null;
 	}
 
-	@:functionCode('
-
-		haxe.lang.HxObject hxObj = obj as haxe.lang.HxObject;
+	public static function getField_f(obj:Dynamic, field:String, fieldHash:Int, throwErrors:Bool):Float
+	{
+		var hxObj = Lib.as(obj, HxObject);
 		if (hxObj != null)
-			return hxObj.__hx_getField_f(field, (fieldHash == 0) ? haxe.lang.FieldLookup.hash(field) : fieldHash, throwErrors, false);
+			return untyped hxObj.__hx_getField_f(field, (fieldHash == 0) ? FieldLookup.hash(field) : fieldHash, throwErrors, false);
 
 		return toDouble(slowGetField(obj, field, throwErrors));
-
-	')
-	public static function getField_f(obj:Dynamic, field:String, fieldHash:Int, throwErrors:Bool):Float
-	{
-		return 0.0;
 	}
 
-	@:functionCode('
-
-		haxe.lang.HxObject hxObj = obj as haxe.lang.HxObject;
+	public static function setField(obj:Dynamic, field:String, fieldHash:Int, value:Dynamic):Dynamic
+	{
+		var hxObj = Lib.as(obj, HxObject);
 		if (hxObj != null)
-			return hxObj.__hx_setField(field, (fieldHash == 0) ? haxe.lang.FieldLookup.hash(field) : fieldHash, value, false);
+			return untyped hxObj.__hx_setField(field, (fieldHash == 0) ? FieldLookup.hash(field) : fieldHash, value, false);
 
 		return slowSetField(obj, field, value);
-
-	')
-	public static function setField(obj:Dynamic, field:String, fieldHash:Int, value:Dynamic):Dynamic
-	{
-		return null;
 	}
 
-	@:functionCode('
-
-		haxe.lang.HxObject hxObj = obj as haxe.lang.HxObject;
+	public static function setField_f(obj:Dynamic, field:String, fieldHash:Int, value:Float):Float
+	{
+		var hxObj = Lib.as(obj, HxObject);
 		if (hxObj != null)
-			return hxObj.__hx_setField_f(field, (fieldHash == 0) ? haxe.lang.FieldLookup.hash(field) : fieldHash, value, false);
+			return untyped hxObj.__hx_setField_f(field, (fieldHash == 0) ? FieldLookup.hash(field) : fieldHash, value, false);
 
 		return toDouble(slowSetField(obj, field, value));
-
-	')
-	public static function setField_f(obj:Dynamic, field:String, fieldHash:Int, value:Float):Float
-	{
-		return 0.0;
 	}
 
 	public static function toString(obj:Dynamic):String
@@ -822,12 +795,9 @@ import cs.system.Object;
 		return null;
 	}
 
-	@:functionCode('
-		return dyn == null ? false : ((bool) dyn);
-	')
 	public static function toBool(dyn:Dynamic):Bool
 	{
-		return false;
+		return if (dyn == null) false else untyped __cs__("(bool){0}", dyn);
 	}