Prechádzať zdrojové kódy

[lua] previous string __index can be a table or a function

Justin Donaldson 8 rokov pred
rodič
commit
0d645631b2
1 zmenil súbory, kde vykonal 8 pridanie a 1 odobranie
  1. 8 1
      std/lua/_std/String.hx

+ 8 - 1
std/lua/_std/String.hx

@@ -37,7 +37,14 @@ class String {
 	static function __index(s:Dynamic, k:Dynamic) : Dynamic {
 		if (k == "length") return NativeStringTools.len(s);
 		else if (Reflect.hasField(untyped String.prototype, k)) return untyped String.prototype[k];
-		else if (__oldindex != null) return  __oldindex(s,k);
+		else if (__oldindex != null) {
+			if (Lua.type(__oldindex) == "function"){
+				return  __oldindex(s,k);
+			} else if (Lua.type(__oldindex) == "table"){
+				return  untyped __oldindex[k];
+			}
+			return null;
+		}
 		else return null;
 	}