Go\Aop\Pointcut\CFlowBelowMethodPointcut::matches PHP Method

matches() public method

Performs matching of point of code
public matches ( mixed $point, null | mixed $context = null, null | string | object $instance = null, array $arguments = null ) : boolean
$point mixed Specific part of code, can be any Reflection class
$context null | mixed Related context, can be class or namespace
$instance null | string | object Invocation instance or string for static calls
$arguments array Dynamic arguments for method
return boolean
    public function matches($point, $context = null, $instance = null, array $arguments = null)
    {
        // With single parameter (statically) always matches
        if (!$instance) {
            return true;
        }
        $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
        foreach ($trace as $stackFrame) {
            if (!isset($stackFrame['class'])) {
                continue;
            }
            $refClass = new ReflectionClass($stackFrame['class']);
            if (!$this->internalClassFilter->matches($refClass)) {
                continue;
            }
            $refMethod = new ReflectionMethod($stackFrame['class'], $stackFrame['function']);
            if ($this->internalPointFilter->matches($refMethod)) {
                return true;
            }
        }
        return false;
    }
CFlowBelowMethodPointcut