コード例 #1
0
 /**
  * Handles classes
  */
 function it_handles_final_classes(PHPNamespace $namespace, CodeFactoryContract $codeFactory, PHPClass $class)
 {
     $classNode = new Class_('Foo', ['type' => Class_::MODIFIER_FINAL]);
     $codeFactory->buildClass('Foo', PHPClass::IS_FINAL)->willReturn($class)->shouldBeCalled();
     $namespace->addClass($class)->shouldBeCalled();
     $this->parse([$classNode], $namespace);
 }
コード例 #2
0
ファイル: Parser.php プロジェクト: thomasruiz/file-modifier
 /**
  * @param Class_       $node
  * @param PHPNamespace $target
  */
 public function handleClass(Class_ $node, PHPNamespace $target)
 {
     $name = $node->name;
     $modifiers = 0;
     $modifiers |= $node->isAbstract() ? PHPClass::IS_ABSTRACT : 0;
     $modifiers |= $node->isFinal() ? PHPClass::IS_FINAL : 0;
     $class = $this->codeFactory->buildClass($name, $modifiers);
     $target->addClass($class);
     $this->parse($node->stmts, $class);
 }