Exakat\Analyzer\Constants\ConstantUsage::analyze PHP Метод

analyze() публичный Метод

public analyze ( )
    public function analyze()
    {
        // Nsname that is not used somewhere else
        $this->atomIs('Nsname')->hasNoIn(array('NEW', 'USE', 'NAME', 'EXTENDS', 'IMPLEMENTS', 'CLASS', 'CONST', 'TYPEHINT', 'FUNCTION', 'GROUPUSE'));
        $this->prepareQuery();
        // Identifier that is not used somewhere else
        $this->atomIs('Identifier')->hasNoIn(array('NEW', 'SUBNAME', 'USE', 'NAME', 'CONSTANT', 'PROPERTY', 'TYPEHINT', 'CLASS', 'EXTENDS', 'IMPLEMENTS', 'CLASS', 'AS', 'VARIABLE', 'FUNCTION', 'CONST', 'GROUPUSE'))->hasNoParent('String', array('INDEX', 'CONCAT'))->hasNoParent('Const', array('LEFT', 'CONST'));
        $this->prepareQuery();
        // special case for Boolean and Null
        $this->atomIs(array('Boolean', 'Null'));
        $this->prepareQuery();
        // defined('constant') : then the string is a constant
        $this->atomIs('Functioncall')->hasNoIn('METHOD')->tokenIs(array('T_STRING', 'T_NS_SEPARATOR'))->fullnspathIs(array('\\defined', '\\constant'))->outIs('ARGUMENTS')->outWithRank('ARGUMENT', 0)->atomIs('String');
        $this->prepareQuery();
        // Const outside a class
    }
ConstantUsage