/** * Returns all properties for this class. * * @return PHP_Depend_Code_NodeIterator */ public function getProperties() { if ($this->properties === null) { $this->properties = array(); $declarations = $this->findChildrenOfType(PHP_Depend_Code_ASTFieldDeclaration::CLAZZ); foreach ($declarations as $declaration) { $declarators = $declaration->findChildrenOfType(PHP_Depend_Code_ASTVariableDeclarator::CLAZZ); foreach ($declarators as $declarator) { $property = new PHP_Depend_Code_Property($declaration, $declarator); $property->setDeclaringClass($this); $property->setSourceFile($this->getSourceFile()); $this->properties[] = $property; } } } return new PHP_Depend_Code_NodeIterator($this->properties); }