private function verifyNotControlStructure(Node\Stmt $node) { $nodeType = str_replace('Stmt_', '', $node->getType()); if (isset(self::$constructStructureMap[$nodeType])) { throw ASTException::containsControlStructure(self::$constructStructureMap[$nodeType], $node->getAttribute('startLine')); } }
protected function addClassOrInterface(StmtNode $node) { $class = new ClassReflection((string) $node->namespacedName, $node->getLine()); $class->setModifiers($node->getType()); $class->setNamespace($this->context->getNamespace()); $class->setAliases($this->context->getAliases()); $class->setHash($this->context->getHash()); $class->setFile($this->context->getFile()); $comment = $this->context->getDocBlockParser()->parse($node->getDocComment(), $this->context, $class); $class->setDocComment($node->getDocComment()); $class->setShortDesc($comment->getShortDesc()); $class->setLongDesc($comment->getLongDesc()); if ($errors = $comment->getErrors()) { $class->setErrors($errors); } else { $class->setTags($comment->getOtherTags()); } if ($this->context->getFilter()->acceptClass($class)) { if ($errors) { $this->context->addErrors((string) $class, $node->getLine(), $errors); } $this->context->enterClass($class); } return $class; }