protected function __construct($type, $returnsReference, $accessModifier, $polymorphModifier, $isStatic, $name, array $parameterExpressions, array $scopedVariableNames = null)
{
parent::__construct($parameterExpressions);
$this->type = $type;
$this->returnsReference = $returnsReference;
$this->accessModifier = $accessModifier;
$this->polymorphModifier = $polymorphModifier;
$this->isStatic = $isStatic;
$this->parameterExpressions = $parameterExpressions;
$this->name = $name;
$this->scopedVariableNames = $scopedVariableNames;
$this->hash = implode('-', [$type, $returnsReference, $accessModifier, $polymorphModifier, $isStatic, $name, O\Expression::hashAll($parameterExpressions), $scopedVariableNames !== null ? implode('|', $scopedVariableNames) : '']);
}