Variant ObjectStringPropertyExpression::eval(VariableEnvironment &env) const { CVarRef obj = m_obj->eval(env); SET_LINE; if (!g_context->getDebuggerBypassCheck()) { return obj.o_get(m_name); } Variant v = obj.o_get(m_name, false); if (!v.isNull()) return v; CStrRef context = obj.isObject() ? obj.getObjectData()->o_getClassName() : null_string; return obj.o_get(m_name, false, context); }
Variant VariableStringPropertyExpression::evalExist(VariableEnvironment &env) const { CVarRef lv = m_obj->getRef(env); SET_LINE; return lv.o_get(m_name, false); }