protected function getVisibilityFromSignaturePattern(&$signaturePattern)
{
$visibility = null;
$matches = [];
$numberOfMatches = preg_match_all(self::PATTERN_MATCHVISIBILITYMODIFIER, $signaturePattern, $matches, PREG_SET_ORDER);
if ($numberOfMatches > 1) {
throw new InvalidPointcutExpressionException('Syntax error: method name expected after visibility modifier in "' . $signaturePattern . '", defined in ' . $this->sourceHint, 1172492754);
}
if ($numberOfMatches === false) {
throw new InvalidPointcutExpressionException('Error while matching visibility modifier in "' . $signaturePattern . '", defined in ' . $this->sourceHint, 1172492967);
}
if ($numberOfMatches === 1) {
$visibility = $matches[0][1];
$signaturePattern = trim(substr($signaturePattern, strlen($visibility)));
}
return $visibility;
}