Пример #1
0
 function hasConstant($name)
 {
     $constants = Grabber::filterByType($this->class->stmts, ClassConst::class);
     foreach ($constants as $constList) {
         foreach ($constList->consts as $const) {
             if (strcasecmp($const->name, $name) == 0) {
                 return true;
             }
         }
     }
     return false;
 }
Пример #2
0
 /**
  * @param Class_      $node
  * @param             $name
  * @param SymbolTable $symbolTable
  * @return ClassMethod
  */
 static function findProperty(Class_ $node, $name, SymbolTable $symbolTable)
 {
     while ($node) {
         $properties = \Guardrail\NodeVisitors\Grabber::filterByType($node->stmts, \PhpParser\Node\Stmt\Property::class);
         /** @var Property[] $propertyList */
         foreach ($properties as $props) {
             /** @var Property $props */
             foreach ($props->props as $prop) {
                 if (strcasecmp($prop->name, $name) == 0) {
                     return $prop;
                 }
             }
         }
         if ($node->extends) {
             $parent = $node->extends->toString();
             $node = $symbolTable->getClass($parent);
         } else {
             return null;
         }
     }
     return null;
 }