Browse Source

Lua: add check for "get_<field>" in Reflect.getProperty

Justin Donaldson 9 years ago
parent
commit
bc8b7908b8
1 changed files with 7 additions and 1 deletions
  1. 7 1
      std/lua/_std/Reflect.hx

+ 7 - 1
std/lua/_std/Reflect.hx

@@ -39,7 +39,13 @@ import lua.Boot;
 
 	public static inline function getProperty( o : Dynamic, field : String ) : Dynamic {
 		var tmp : Dynamic;
-		return if( o == null ) untyped __define_feature__("Reflect.getProperty",null) else if( o.__properties__ && (tmp="get_"+field) ) callMethod(o,Reflect.field(o,tmp), []) else Reflect.field(o,field);
+		return if( o == null ) {
+				untyped __define_feature__("Reflect.getProperty",null);
+			} else if( o.__properties__ != null && Reflect.field(o, "get_" + field) != null){
+				callMethod(o, Reflect.field(o,"get_" + field), []);
+			} else {
+				Reflect.field(o,field);
+			}
 	}
 
 	public static inline function setProperty( o : Dynamic, field : String, value : Dynamic ) : Void untyped {