/** * Walks recursively through the method resources tree. * * @param string $operator The operator * @param string $pointcutExpression The pointcut expression (value of the designator) * @param \TYPO3\Flow\Aop\Pointcut\PointcutFilterComposite $pointcutFilterComposite An instance of the pointcut filter composite. The result (ie. the pointcut filter) will be added to this composite object. * @param array &$trace * @return void * @throws \TYPO3\Flow\Aop\Exception\InvalidPointcutExpressionException */ protected function parseDesignatorPointcut($operator, $pointcutExpression, \TYPO3\Flow\Aop\Pointcut\PointcutFilterComposite $pointcutFilterComposite, array &$trace = array()) { if (!isset($this->methodResourcesTree[$pointcutExpression])) { throw new \TYPO3\Flow\Aop\Exception\InvalidPointcutExpressionException('The given resource was not defined: "' . $pointcutExpression . '".', 1222014591); } $pointcutFilterComposite->addFilter($operator, $this->parseMethodResources($this->methodResourcesTree[$pointcutExpression], array(), $trace)); }
/** * Adds runtime evaluations to the pointcut filter composite * * @param string $operator The operator * @param string $runtimeEvaluations The runtime evaluations string * @param PointcutFilterComposite $pointcutFilterComposite An instance of the pointcut filter composite. The result (ie. the custom filter) will be added to this composite object. * @return void */ protected function parseRuntimeEvaluations($operator, $runtimeEvaluations, PointcutFilterComposite $pointcutFilterComposite) { $runtimeEvaluationsDefinition = array($operator => array('evaluateConditions' => $this->getRuntimeEvaluationConditionsFromEvaluateString($runtimeEvaluations))); $pointcutFilterComposite->setGlobalRuntimeEvaluationsDefinition($runtimeEvaluationsDefinition); }
/** * This method is used to optimize the matching process. * * @param \TYPO3\Flow\Aop\Builder\ClassNameIndex $classNameIndex * @return \TYPO3\Flow\Aop\Builder\ClassNameIndex */ public function reduceTargetClassNames(\TYPO3\Flow\Aop\Builder\ClassNameIndex $classNameIndex) { return $this->pointcutFilterComposite->reduceTargetClassNames($classNameIndex); }