public function __construct($ins, $method)
{
$this->ins = $ins;
if ($this->cache === null) {
$this->checkAbleCache = $this->factory->create('phprs\\util\\Cache');
} else {
$this->checkAbleCache = new CheckableCache($this->cache);
}
$this->method_name = $method->getName();
foreach ($method->getParameters() as $param) {
$this->method_args[] = array($param->getName(), $param->isPassedByReference(), $param->isOptional(), $param->isOptional() ? $param->getDefaultValue() : null);
}
$this->bind = array('param' => new BindParams($this->ins->class, $this->method_name), 'return' => new BindReturns($this->ins->class, $this->method_name), 'throws' => new BindThrows($this->ins->class, $this->method_name), 'cache' => new BindReturns($this->ins->class, $this->method_name, false));
}