public function offsetSet($name, $value)
    {
        if (isset($this->frozen[$name])) {
            throw new \RuntimeException(sprintf('Cannot override frozen fact "%s".', $name));
        }

        $this->keys[$name]   = true;
        $this->values[$name] = $value;
    }
public function offsetSet($name, $value)
    {
        if (isset($this->frozen[$name])) {
            throw new \RuntimeException(sprintf('Cannot override frozen fact "%s".', $name));
        }

        $this->keys[$name]   = true;
        $this->values[$name] = $value;
    }
public function offsetSet ( $ name , $ value ) { if ( isset ( $ this -> frozen [ $ name ] ) ) { throw new \ RuntimeException ( sprintf ( 'Cannot override frozen fact "%s".' , $ name ) ) ; } $ this -> keys [ $ name ] = true ; $ this -> values [ $ name ] = $ value ; }
Set a fact name and value.

A fact will be lazily evaluated if it is a Closure or invokable object.
To define a fact as a literal callable, use Context::protect.

@param string $name  The unique name for the fact
@param mixed  $value The value or a closure to lazily define the value

@throws RuntimeException if a frozen fact overridden
Set a fact name and value .