当前位置: 首页>>代码示例>>PHP>>正文


PHP ClassNode::getParentClass方法代码示例

本文整理汇总了PHP中Prophecy\Doubler\Generator\Node\ClassNode::getParentClass方法的典型用法代码示例。如果您正苦于以下问题:PHP ClassNode::getParentClass方法的具体用法?PHP ClassNode::getParentClass怎么用?PHP ClassNode::getParentClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Prophecy\Doubler\Generator\Node\ClassNode的用法示例。


在下文中一共展示了ClassNode::getParentClass方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: supports

 /**
  * Supports everything that extends SplFileInfo.
  *
  * @param ClassNode $node
  *
  * @return bool
  */
 public function supports(ClassNode $node)
 {
     if (null === $node->getParentClass()) {
         return false;
     }
     return 'SplFileInfo' === $node->getParentClass() || is_subclass_of($node->getParentClass(), 'SplFileInfo');
 }
开发者ID:burimshala,项目名称:numbertowords,代码行数:14,代码来源:SplFileInfoPatch.php

示例2: supports

 /**
  * Supports exceptions on HHVM.
  *
  * @param ClassNode $node
  *
  * @return bool
  */
 public function supports(ClassNode $node)
 {
     if (!defined('HHVM_VERSION')) {
         return false;
     }
     return 'Exception' === $node->getParentClass() || is_subclass_of($node->getParentClass(), 'Exception');
 }
开发者ID:TheTypoMaster,项目名称:SPHERE-Framework,代码行数:14,代码来源:HhvmExceptionPatch.php

示例3: MethodNode

 /**
  *
  * @param \Prophecy\Doubler\Generator\Node\ClassNode $node        	
  */
 function it_ignores_existing_methods($node)
 {
     $node->getParentClass()->willReturn('spec\\Prophecy\\Doubler\\ClassPatch\\MagicalApiExtended');
     $node->addMethod(new MethodNode('undefinedMethod'))->shouldBeCalled();
     $node->addMethod(new MethodNode('definedMethod'))->shouldNotBeCalled();
     $this->apply($node);
 }
开发者ID:ngitimfoyo,项目名称:Nyari-AppPHP,代码行数:11,代码来源:MagicCallPatchSpec.php

示例4:

 /**
  *
  * @param \Prophecy\Doubler\Generator\Node\ClassNode $reflectionClassNode        	
  * @param \Prophecy\Doubler\Generator\Node\ClassNode $anotherClassNode        	
  */
 function it_supports_ReflectionClass_only($reflectionClassNode, $anotherClassNode)
 {
     $reflectionClassNode->getParentClass()->willReturn('ReflectionClass');
     $anotherClassNode->getParentClass()->willReturn('stdClass');
     $this->supports($reflectionClassNode)->shouldReturn(true);
     $this->supports($anotherClassNode)->shouldReturn(false);
 }
开发者ID:ngitimfoyo,项目名称:Nyari-AppPHP,代码行数:12,代码来源:ReflectionClassNewInstancePatchSpec.php

示例5: MethodNode

 /**
  * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
  */
 function it_discovers_api_using_phpdoc_from_extended_parent_interfaces($node)
 {
     $node->getParentClass()->willReturn('spec\\Prophecy\\Doubler\\ClassPatch\\MagicalApiImplementedExtended');
     $node->getInterfaces()->willReturn(array());
     $node->addMethod(new MethodNode('implementedMethod'))->shouldBeCalled();
     $this->apply($node);
 }
开发者ID:phpspec,项目名称:prophecy,代码行数:10,代码来源:MagicCallPatchSpec.php

示例6: strpos

 /**
  * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
  * @param \Prophecy\Doubler\Generator\Node\MethodNode $method
  */
 function it_should_not_supply_a_file_for_a_directory_iterator($node, $method)
 {
     $node->hasMethod('__construct')->willReturn(true);
     $node->getMethod('__construct')->willReturn($method);
     $node->getParentClass()->willReturn('DirectoryIterator');
     $method->setCode(Argument::that(function ($value) {
         return strpos($value, '.php') === false;
     }))->shouldBeCalled();
     $this->apply($node);
 }
开发者ID:saj696,项目名称:pipe,代码行数:14,代码来源:SplFileInfoPatchSpec.php

示例7: strpos

 function it_should_supply_a_file_for_a_spl_file_object(ClassNode $node, MethodNode $method)
 {
     $node->hasMethod('__construct')->willReturn(true);
     $node->getMethod('__construct')->willReturn($method);
     $node->getParentClass()->willReturn('SplFileObject');
     $method->setCode(Argument::that(function ($value) {
         return strpos($value, '.php') !== false;
     }))->shouldBeCalled();
     $this->apply($node);
 }
开发者ID:phpspec,项目名称:prophecy,代码行数:10,代码来源:SplFileInfoPatchSpec.php

示例8: apply

 /**
  * Discover Magical API
  *
  * @param ClassNode $node
  */
 public function apply(ClassNode $node)
 {
     $parentClass = $node->getParentClass();
     $reflectionClass = new \ReflectionClass($parentClass);
     $phpdoc = new DocBlock($reflectionClass->getDocComment());
     $tagList = $phpdoc->getTagsByName('method');
     foreach ($tagList as $tag) {
         $methodNode = new MethodNode($tag->getMethodName());
         $methodNode->setStatic($tag->isStatic());
         $node->addMethod($methodNode);
     }
 }
开发者ID:mawaha,项目名称:tracker,代码行数:17,代码来源:MagicCallPatch.php

示例9: apply

 /**
  * Discover Magical API
  *
  * @param ClassNode $node
  */
 public function apply(ClassNode $node)
 {
     $parentClass = $node->getParentClass();
     $reflectionClass = new \ReflectionClass($parentClass);
     $tagList = $this->tagRetriever->getTagList($reflectionClass);
     foreach ($tagList as $tag) {
         $methodName = $tag->getMethodName();
         if (empty($methodName)) {
             continue;
         }
         if (!$reflectionClass->hasMethod($methodName)) {
             $methodNode = new MethodNode($methodName);
             $methodNode->setStatic($tag->isStatic());
             $node->addMethod($methodNode);
         }
     }
 }
开发者ID:drickferreira,项目名称:rastreador,代码行数:22,代码来源:MagicCallPatch.php

示例10: apply

 /**
  * Discover Magical API
  *
  * @param ClassNode $node
  */
 public function apply(ClassNode $node)
 {
     $parentClass = $node->getParentClass();
     $reflectionClass = new \ReflectionClass($parentClass);
     $phpdoc = new DocBlock($reflectionClass->getDocComment());
     $tagList = $phpdoc->getTagsByName('method');
     $interfaces = $reflectionClass->getInterfaces();
     foreach ($interfaces as $interface) {
         $phpdoc = new DocBlock($interface);
         $tagList = array_merge($tagList, $phpdoc->getTagsByName('method'));
     }
     foreach ($tagList as $tag) {
         $methodName = $tag->getMethodName();
         if (!$reflectionClass->hasMethod($methodName)) {
             $methodNode = new MethodNode($tag->getMethodName());
             $methodNode->setStatic($tag->isStatic());
             $node->addMethod($methodNode);
         }
     }
 }
开发者ID:phantsang,项目名称:8csfOIjOaJSlDG2Y3x992O,代码行数:25,代码来源:MagicCallPatch.php

示例11: apply

 /**
  * Discover Magical API
  *
  * @param ClassNode $node
  */
 public function apply(ClassNode $node)
 {
     $types = array_filter($node->getInterfaces(), function ($interface) {
         return 0 !== strpos($interface, 'Prophecy\\');
     });
     $types[] = $node->getParentClass();
     foreach ($types as $type) {
         $reflectionClass = new \ReflectionClass($type);
         $tagList = $this->tagRetriever->getTagList($reflectionClass);
         foreach ($tagList as $tag) {
             $methodName = $tag->getMethodName();
             if (empty($methodName)) {
                 continue;
             }
             if (!$reflectionClass->hasMethod($methodName)) {
                 $methodNode = new MethodNode($methodName);
                 $methodNode->setStatic($tag->isStatic());
                 $node->addMethod($methodNode);
             }
         }
     }
 }
开发者ID:phpspec,项目名称:prophecy,代码行数:27,代码来源:MagicCallPatch.php

示例12: strtr

    /**
     * @param \Prophecy\Doubler\Generator\Node\ClassNode $class
     */
    function it_wraps_class_in_namespace_if_it_is_namespaced($class)
    {
        $class->getParentClass()->willReturn('stdClass');
        $class->getInterfaces()->willReturn(array('Prophecy\\Doubler\\Generator\\MirroredInterface'));
        $class->getProperties()->willReturn(array());
        $class->getMethods()->willReturn(array());
        $code = $this->generate('My\\Awesome\\CustomClass', $class);
        $expected = <<<'PHP'
namespace My\Awesome {
class CustomClass extends \stdClass implements \Prophecy\Doubler\Generator\MirroredInterface {


}
}
PHP;
        $expected = strtr($expected, array("\r\n" => "\n", "\r" => "\n"));
        $code->shouldBe($expected);
    }
开发者ID:laerciobernardo,项目名称:CodeDelivery,代码行数:21,代码来源:ClassCodeGeneratorSpec.php

示例13: MethodNode

 /**
  * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
  */
 function it_discovers_api_using_phpdoc($node)
 {
     $node->getParentClass()->willReturn('spec\\Prophecy\\Doubler\\ClassPatch\\MagicalApi');
     $node->addMethod(new MethodNode('undefinedMethod'))->shouldBeCalled();
     $this->apply($node);
 }
开发者ID:burimshala,项目名称:numbertowords,代码行数:9,代码来源:MagicCallPatchSpec.php

示例14: nodeIsSplFileObject

 /**
  * @param ClassNode $node
  * @return boolean
  */
 private function nodeIsSplFileObject(ClassNode $node)
 {
     $parent = $node->getParentClass();
     return 'SplFileObject' === $parent || is_subclass_of($parent, 'SplFileObject');
 }
开发者ID:drickferreira,项目名称:rastreador,代码行数:9,代码来源:SplFileInfoPatch.php

示例15:

 /**
  * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
  */
 function it_supports_nodes_with_derivative_of_SplFileInfo_as_parent_class($node)
 {
     $node->getParentClass()->willReturn('SplFileInfo');
     $this->supports($node)->shouldReturn(true);
 }
开发者ID:mawaha,项目名称:tracker,代码行数:8,代码来源:SplFileInfoPatchSpec.php


注:本文中的Prophecy\Doubler\Generator\Node\ClassNode::getParentClass方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。