Pinq\Expressions\Expression::newExpression PHP Method

newExpression() final public static method

final public static newExpression ( Expression $classType, array $arguments = [] ) : NewExpression
$classType Expression
$arguments array
return NewExpression
    public static final function newExpression(Expression $classType, array $arguments = [])
    {
        return new NewExpression($classType, $arguments);
    }

Usage Example

コード例 #1
0
ファイル: AST.php プロジェクト: timetoogo/pinq
 public function parseExpressionNode(Node\Expr $node)
 {
     switch (true) {
         case $mappedNode = $this->parseOperatorNode($node):
             return $mappedNode;
         case $node instanceof Node\Scalar && ($mappedNode = $this->parseScalarNode($node)):
             return $mappedNode;
         case $node instanceof Node\Expr\Variable:
             return Expression::variable($this->parseNameNode($node->name));
         case $node instanceof Node\Expr\Array_:
             return $this->parseArrayNode($node);
         case $node instanceof Node\Expr\FuncCall:
             return $this->parseFunctionCallNode($node);
         case $node instanceof Node\Expr\New_:
             return Expression::newExpression($this->parseNameNode($node->class), $this->parseNodes($node->args));
         case $node instanceof Node\Expr\MethodCall:
             return Expression::methodCall($this->parseNode($node->var), $this->parseNameNode($node->name), $this->parseNodes($node->args));
         case $node instanceof Node\Expr\PropertyFetch:
             return Expression::field($this->parseNode($node->var), $this->parseNameNode($node->name));
         case $node instanceof Node\Expr\ArrayDimFetch:
             return Expression::index($this->parseNode($node->var), $node->dim === null ? null : $this->parseNode($node->dim));
         case $node instanceof Node\Expr\ConstFetch:
             return Expression::constant($this->parseAbsoluteName($node->name));
         case $node instanceof Node\Expr\ClassConstFetch:
             return Expression::classConstant($this->parseNameNode($node->class), $node->name);
         case $node instanceof Node\Expr\StaticCall:
             return Expression::staticMethodCall($this->parseNameNode($node->class), $this->parseNameNode($node->name), $this->parseNodes($node->args));
         case $node instanceof Node\Expr\StaticPropertyFetch:
             return Expression::staticField($this->parseNameNode($node->class), $this->parseNameNode($node->name));
         case $node instanceof Node\Expr\Ternary:
             return $this->parseTernaryNode($node);
         case $node instanceof Node\Expr\Closure:
             return $this->parseClosureNode($node);
         case $node instanceof Node\Expr\Empty_:
             return Expression::emptyExpression($this->parseNode($node->expr));
         case $node instanceof Node\Expr\Isset_:
             return Expression::issetExpression($this->parseNodes($node->vars));
         default:
             throw new ASTException('Cannot parse AST with unknown expression node: %s', get_class($node));
     }
 }
All Usage Examples Of Pinq\Expressions\Expression::newExpression