Browse Source

Merge pull request #2453 from nadako/js_reflect

[js] don't inline Reflect.field because it has try/catch block.
Nicolas Cannasse 11 years ago
parent
commit
ddb7f70c88
1 changed files with 3 additions and 8 deletions
  1. 3 8
      std/js/_std/Reflect.hx

+ 3 - 8
std/js/_std/Reflect.hx

@@ -21,17 +21,12 @@
  */
 @:coreApi class Reflect {
 
-	public static function hasField( o : Dynamic, field : String ) : Bool {
+	public inline static function hasField( o : Dynamic, field : String ) : Bool {
 		return untyped __js__('Object').prototype.hasOwnProperty.call(o, field);
 	}
 
-	public inline static function field( o : Dynamic, field : String ) : Dynamic untyped {
-		var v = null;
-		try {
-			v = o[field];
-		} catch( e : Dynamic ) {
-		}
-		return v;
+	public static function field( o : Dynamic, field : String ) : Dynamic untyped {
+		return try o[field] catch( e : Dynamic ) null;
 	}
 
 	public inline static function setField( o : Dynamic, field : String, value : Dynamic ) : Void untyped {