/** * Creates a method call on an object with an empty argument list. * * @param Node $object * The expression that is an object. * @param string $method_name * The name of the called method. * * @return static */ public static function create(Node $object, $method_name) { /** @var ObjectMethodCallNode $node */ $node = new static(); $node->addChild($object, 'object'); $node->addChild(Token::objectOperator(), 'operator'); $node->addChild(Token::identifier($method_name), 'methodName'); $node->addChild(Token::openParen(), 'openParen'); $node->addChild(new CommaListNode(), 'arguments'); $node->addChild(Token::closeParen(), 'closeParen'); return $node; }
/** * Creates a method call on a class with an empty argument list. * * @param Node|string $class_name * The class node which is typically NameNode of class. * @param string $method_name * The name of the called method. * * @return static */ public static function create($class_name, $method_name) { if (is_string($class_name)) { $class_name = NameNode::create($class_name); } /** @var ClassMethodCallNode $node */ $node = new static(); $node->addChild($class_name, 'className'); $node->addChild(Token::doubleColon()); $node->addChild(Token::identifier($method_name), 'methodName'); $node->addChild(Token::openParen(), 'openParen'); $node->addChild(new CommaListNode(), 'arguments'); $node->addChild(Token::closeParen(), 'closeParen'); return $node; }
public function visitNewNode(NewNode $node) { if (!$node->getArgumentList()) { $node->append(Token::openParen()); $node->addChild(new CommaListNode(), 'arguments'); $node->append(Token::closeParen()); } }
/** * Creates an empty lexical variables list if it does not already exist. */ protected function createLexicalVariables() { if (!$this->hasLexicalVariables()) { $this->lexicalUse = Token::_use(); $this->lexicalOpenParen = Token::openParen(); $this->lexicalVariables = new CommaListNode(); $this->lexicalCloseParen = Token::closeParen(); $this->closeParen->after([Token::space(), $this->lexicalUse, Token::space(), $this->lexicalOpenParen, $this->lexicalVariables, $this->lexicalCloseParen]); } }