コード例 #1
0
ファイル: hphp_system.cpp プロジェクト: gavingeng/hiphop-php
CVarRef Globals::declareConstant(CStrRef name, Variant &constant,
                                 CVarRef value) {
  if (!value.isAllowedAsConstantValue()) {
    raise_warning("Constants may only evaluate to scalar values");
    // TODO don't actually define, and return false
  }
  if (!m_dynamicConstants.exists(name)) {
    m_dynamicConstants.set(name, value);
    constant = value;
  }
  return value;
}
コード例 #2
0
ファイル: hphp_system.cpp プロジェクト: hashaash/hiphop-php
bool Globals::declareConstant(CStrRef name, Variant &constant,
                              CVarRef value) {
  if (!value.isAllowedAsConstantValue()) {
    raise_warning("Constants may only evaluate to scalar values");
    return false;
  }
  if (!m_dynamicConstants.exists(name)) {
    m_dynamicConstants.set(name, value);
    constant = value;
    return true;
  }
  raise_warning("Constant %s already defined", name.data());
  return false;
}
コード例 #3
0
ファイル: ext_misc.cpp プロジェクト: ArPharazon/hiphop-php
bool f_define(CStrRef name, CVarRef value,
              bool case_insensitive /* = false */) {
  if (!has_eval_support) {
    ASSERT(false); // define() should be turned into constant definition by HPHP
    return false;
  }
  if (!value.isAllowedAsConstantValue()) {
    raise_warning("Constants may only evaluate to scalar values");
    return false;
  }
  if (!f_defined(name)) {
    return Eval::RequestEvalState::declareConstant(name, value);
  }
  raise_notice("Constant %s already defined", name.data());
  return false;
}