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


PHP Expr::getType方法代码示例

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


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

示例1: parseOperatorNode

 private function parseOperatorNode(Node\Expr $node)
 {
     $nodeType = str_replace('Expr_', '', $node->getType());
     switch (true) {
         case isset(self::$assignOperatorsMap[$nodeType]):
             return Expression::assign($this->parseNode($node->var), self::$assignOperatorsMap[$nodeType], $this->parseNode($node->expr));
         case $node instanceof Node\Expr\Instanceof_:
             return Expression::binaryOperation($this->parseNode($node->expr), Operators\Binary::IS_INSTANCE_OF, $this->parseNameNode($node->class));
         case isset(self::$binaryOperatorsMap[$nodeType]):
             return Expression::binaryOperation($this->parseNode($node->left), self::$binaryOperatorsMap[$nodeType], $this->parseNode($node->right));
         case isset(self::$unaryOperatorsMap[$nodeType]):
             return Expression::unaryOperation(self::$unaryOperatorsMap[$nodeType], $this->parseNode(isset($node->expr) ? $node->expr : $node->var));
         case isset(self::$castOperatorMap[$nodeType]):
             return Expression::cast(self::$castOperatorMap[$nodeType], $this->parseNode($node->expr));
         default:
             return null;
     }
 }
开发者ID:timetoogo,项目名称:pinq,代码行数:18,代码来源:AST.php

示例2: canRef

 /**
  * Determines whether or not a parameter can be reference (e.g. vars can be referenced, while function calls cannot)
  *
  * @param \PhpParser\Node\Expr $value
  * @return bool
  */
 private static function canRef($value)
 {
     $type = $value->getType();
     if (isset(self::$can_ref[$type])) {
         return true;
     } else {
         if ($value instanceof \PhpParser\Node\Expr\ArrayDimFetch) {
             if (!self::canRef($value->var)) {
                 return false;
             }
             // an ugly hack for ArrayAccess objects that are used as "$this['something']"
             if ($value->var instanceof \PhpParser\Node\Expr\Variable && $value->var->name == 'this') {
                 return false;
             }
             return true;
         }
     }
     return false;
 }
开发者ID:badoo,项目名称:soft-mocks,代码行数:25,代码来源:SoftMocks.php


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