CVarRef Array::setRef(CVarRef key, CVarRef v, bool isKey /* = false */) { if (key.getRawType() == KindOfInt64) { return setRefImpl(key.getNumData(), v); } if (isKey) return setRefImpl(key, v); VarNR k(key.toKey()); if (!k.isNull()) { return setRefImpl<Variant>(k, v); } return Variant::lvalBlackHole(); }
CVarRef Array::setRef(CStrRef key, CVarRef v, bool isKey /* = false */) { if (isKey) return setRefImpl(key, v); return setRefImpl(key.toKey(), v); }
CVarRef Array::setRef(int64 key, CVarRef v) { return setRefImpl(key, v); }
CVarRef Array::setRef(litstr key, CVarRef v, bool isKey /* = false */) { if (isKey) return setRefImpl(String(key), v); return setRefImpl(String(key).toKey(), v); }
Variant TempExpressionList::setRef(VariableEnvironment &env, CVarRef val) const { TempExpressionHelper helper(this, env); return setRefImpl(env, val); }