static ParserFunction GetObjectFunction(string name, ParsingScript script) { if (script.CurrentClass != null && script.CurrentClass.Name == name) { script.Backward(name.Length + 1); return(new FunctionCreator()); } if (script.ClassInstance != null && (script.ClassInstance.PropertyExists(name) || script.ClassInstance.FunctionExists(name))) { name = script.ClassInstance.InstanceName + "." + name; } int ind = name.IndexOf("."); if (ind <= 0) { return(null); } string baseName = name.Substring(0, ind); string prop = name.Substring(ind + 1); ParserFunction pf = ParserFunction.GetFunctionNamespace(prop, baseName, script); if (pf != null) { return(pf); } pf = ParserFunction.GetFunction(baseName, script); GetVarFunction varFunc = pf as GetVarFunction; if (varFunc == null) { return(null); } varFunc.PropertyName = prop; return(varFunc); }