public function offsetSet($symbol, $value)
{
$symbol = self::_symbol($symbol);
$defined = false;
for ($scope = $this; $scope; $scope = $scope->superscope) {
if (!array_key_exists($symbol, $scope->values)) {
continue;
}
$scope->values[$symbol] = $value;
$defined = true;
break;
}
if (!$defined) {
$this->values[$symbol] = $value;
}
}