bool ClassConstantExpression::evalStaticScalar(VariableEnvironment &env, Variant &r) const { String cls = m_class->get(env); const char *constant = m_constant.c_str(); if (eval_get_class_constant_hook(r, cls, constant)) return true; return false; }
Variant get_class_constant(CStrRef s, const char *constant, int fatal /* = true */) { { Variant r; if (eval_get_class_constant_hook(r, s, constant)) return r; } { const ObjectStaticCallbacks * cwo = get_builtin_object_static_callbacks(s); if (cwo) return cwo->os_constant(constant); } if (fatal > 0) { raise_error("Couldn't find constant %s::%s", s.data(), constant); } else if (!fatal) { raise_warning("Couldn't find constant %s::%s", s.data(), constant); } return null; }