diff --git a/grammar/rebuildParser.php b/grammar/rebuildParser.php index 009767c..9000871 100644 --- a/grammar/rebuildParser.php +++ b/grammar/rebuildParser.php @@ -99,14 +99,29 @@ function resolveNodes($code) { $matches['params'] ); - $paramCodes = array(); - foreach ($params as $param) { - list($key, $value) = explode(': ', $param, 2); - - $paramCodes[] = '\'' . $key . '\' => ' . $value; + if (array() === $params) { + return 'new PHPParser_Node_' . $matches['name'] . '($line, $docComment)'; } - return 'new PHPParser_Node_' . $matches['name'] . '(array(' . implode(', ', $paramCodes) . '), $line, $docComment)'; + $withArray = false; + + $paramCodes = array(); + foreach ($params as $param) { + if (false !== strpos($param, ': ')) { + $withArray = true; + + list($key, $value) = explode(': ', $param, 2); + $paramCodes[] = '\'' . $key . '\' => ' . $value; + } else { + $paramCodes[] = $param; + } + } + + if (!$withArray) { + return 'new PHPParser_Node_' . $matches['name'] . '(' . implode(', ', $paramCodes) . ', $line, $docComment)'; + } else { + return 'new PHPParser_Node_' . $matches['name'] . '(array(' . implode(', ', $paramCodes) . '), $line, $docComment)'; + } }, $code ); diff --git a/grammar/zend_language_parser.phpy b/grammar/zend_language_parser.phpy index e5c804c..93b93e0 100644 --- a/grammar/zend_language_parser.phpy +++ b/grammar/zend_language_parser.phpy @@ -113,7 +113,7 @@ top_statement_list: ; namespace_name: - namespace_name_sub { $$ = Name[parts: $1, type: Name::NORMAL]; } + namespace_name_sub { $$ = Name[$1, Name::NORMAL]; } ; namespace_name_sub: @@ -365,9 +365,9 @@ global_var_list: ; global_var: - T_VARIABLE { $$ = Variable[name: parseVar($1)]; } - | '$' variable { $$ = Variable[name: $2]; } - | '$' '{' expr '}' { $$ = Variable[name: $3]; } + T_VARIABLE { $$ = Variable[parseVar($1)]; } + | '$' variable { $$ = Variable[$2]; } + | '$' '{' expr '}' { $$ = Variable[$3]; } ; static_var_list: @@ -554,7 +554,7 @@ function_call: } $$ = Expr_StaticCall[class: $tmp->var->class, func: $1, args: $3]; - $tmp->var = Variable[name: $tmp->var->name]; + $tmp->var = Variable[$tmp->var->name]; } else { throw new Exception; } @@ -611,9 +611,9 @@ ctor_arguments: ; common_scalar: - T_LNUMBER { $$ = Scalar_LNumber[value: parseLNumber($1)]; } - | T_DNUMBER { $$ = Scalar_DNumber[value: parseDNumber($1)]; } - | T_CONSTANT_ENCAPSED_STRING { $$ = Scalar_String::create($1, $line); } + T_LNUMBER { $$ = Scalar_LNumber[parseLNumber($1)]; } + | T_DNUMBER { $$ = Scalar_DNumber[parseDNumber($1)]; } + | T_CONSTANT_ENCAPSED_STRING { $$ = Scalar_String::create($1, $line, $docComment); } | T_LINE { $$ = Scalar_LineConst[]; } | T_FILE { $$ = Scalar_FileConst[]; } | T_DIR { $$ = Scalar_DirConst[]; } @@ -622,9 +622,9 @@ common_scalar: | T_FUNC_C { $$ = Scalar_FuncConst[]; } | T_NS_C { $$ = Scalar_NSConst[]; } | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC - { $$ = Scalar_String[value: Scalar_String::parseEscapeSequences($2)]; } + { $$ = Scalar_String[Scalar_String::parseEscapeSequences($2)]; } | T_START_HEREDOC T_END_HEREDOC - { $$ = Scalar_String[value: '']; } + { $$ = Scalar_String['']; } ; static_scalar: /* compile-time evaluated scalars */ @@ -637,12 +637,12 @@ static_scalar: /* compile-time evaluated scalars */ ; scalar: - T_STRING_VARNAME { $$ = Scalar_String[value: $1]; } + T_STRING_VARNAME { $$ = Scalar_String[$1]; } | class_constant { $$ = $1; } | name { $$ = Expr_ConstFetch[name: $1]; } | common_scalar { $$ = $1; } - | '"' encaps_list '"' { $$ = Scalar_Encapsed[parts: $2]; } - | T_START_HEREDOC encaps_list T_END_HEREDOC { $$ = Scalar_Encapsed[parts: $2]; } + | '"' encaps_list '"' { $$ = Scalar_Encapsed[$2]; } + | T_START_HEREDOC encaps_list T_END_HEREDOC { $$ = Scalar_Encapsed[$2]; } ; static_array_pair_list: @@ -686,7 +686,7 @@ object_access_arrayable: variable_without_objects: reference_variable { $$ = $1; } - | '$' reference_variable { $$ = Variable[name: $2]; } + | '$' reference_variable { $$ = Variable[$2]; } ; base_variable: @@ -714,8 +714,8 @@ static_property_with_arrays: reference_variable: reference_variable '[' dim_offset ']' { $$ = Expr_ArrayDimFetch[var: $1, dim: $3]; } | reference_variable '{' expr '}' { $$ = Expr_ArrayDimFetch[var: $1, dim: $3]; } - | T_VARIABLE { $$ = Variable[name: parseVar($1)]; } - | '$' '{' expr '}' { $$ = Variable[name: $3]; } + | T_VARIABLE { $$ = Variable[parseVar($1)]; } + | '$' '{' expr '}' { $$ = Variable[$3]; } ; dim_offset: @@ -766,19 +766,19 @@ encaps_list: ; encaps_var: - T_VARIABLE { $$ = Variable[name: parseVar($1)]; } - | T_VARIABLE '[' encaps_var_offset ']' { $$ = Expr_ArrayDimFetch[var: Variable[name: parseVar($1)], dim: $3]; } - | T_VARIABLE T_OBJECT_OPERATOR T_STRING { $$ = Expr_PropertyFetch[var: Variable[name: parseVar($1)], name: $3]; } - | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = Variable[name: $2]; } + T_VARIABLE { $$ = Variable[parseVar($1)]; } + | T_VARIABLE '[' encaps_var_offset ']' { $$ = Expr_ArrayDimFetch[var: Variable[parseVar($1)], dim: $3]; } + | T_VARIABLE T_OBJECT_OPERATOR T_STRING { $$ = Expr_PropertyFetch[var: Variable[parseVar($1)], name: $3]; } + | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = Variable[$2]; } | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' - { $$ = Expr_ArrayDimFetch[var: Variable[name: $2], dim: $4]; } + { $$ = Expr_ArrayDimFetch[var: Variable[$2], dim: $4]; } | T_CURLY_OPEN variable '}' { $$ = $2; } ; encaps_var_offset: - T_STRING { $$ = Scalar_String[value: $1]; } - | T_NUM_STRING { $$ = Scalar_LNumber[value: parseLNumber($1)]; } - | T_VARIABLE { $$ = Variable[name: parseVar($1)]; } + T_STRING { $$ = Scalar_String[$1]; } + | T_NUM_STRING { $$ = Scalar_LNumber[parseLNumber($1)]; } + | T_VARIABLE { $$ = Variable[parseVar($1)]; } ; class_constant: diff --git a/lib/PHPParser/Node/Name.php b/lib/PHPParser/Node/Name.php index 1fab055..a6c674e 100644 --- a/lib/PHPParser/Node/Name.php +++ b/lib/PHPParser/Node/Name.php @@ -10,6 +10,24 @@ class PHPParser_Node_Name extends PHPParser_NodeAbstract const FULLY_QUALIFIED = 1; const RELATIVE = 2; + /** + * Constructs a name node. + * + * @param array $parts Parts of the name + * @param int $type Resolve type + * @param int $line Line + * @param null|string $docComment Nearest doc comment + */ + public function __construct(array $parts, $type = self::NORMAL, $line = -1, $docComment = null) { + parent::__construct( + array( + 'parts' => $parts, + 'type' => $type + ), + $line, $docComment + ); + } + /** * Gets the first part of the name, i.e. everything before the first namespace separator. * diff --git a/lib/PHPParser/Node/Scalar/ClassConst.php b/lib/PHPParser/Node/Scalar/ClassConst.php index a6f0c67..d5618b7 100644 --- a/lib/PHPParser/Node/Scalar/ClassConst.php +++ b/lib/PHPParser/Node/Scalar/ClassConst.php @@ -2,4 +2,13 @@ class PHPParser_Node_Scalar_ClassConst extends PHPParser_Node_Scalar { + /** + * Constructs a __CLASS__ const node + * + * @param int $line Line + * @param null|string $docComment Nearest doc comment + */ + public function __construct($line = -1, $docComment = null) { + parent::__construct(array(), $line, $docComment); + } } \ No newline at end of file diff --git a/lib/PHPParser/Node/Scalar/DNumber.php b/lib/PHPParser/Node/Scalar/DNumber.php index 0d0bb99..1c8e823 100644 --- a/lib/PHPParser/Node/Scalar/DNumber.php +++ b/lib/PHPParser/Node/Scalar/DNumber.php @@ -5,4 +5,19 @@ */ class PHPParser_Node_Scalar_DNumber extends PHPParser_Node_Scalar { + /** + * Constructs a float number scalar node. + * + * @param double $value Value of the number + * @param int $line Line + * @param null|string $docComment Nearest doc comment + */ + public function __construct($value = 0.0, $line = -1, $docComment = null) { + parent::__construct( + array( + 'value' => $value + ), + $line, $docComment + ); + } } \ No newline at end of file diff --git a/lib/PHPParser/Node/Scalar/DirConst.php b/lib/PHPParser/Node/Scalar/DirConst.php index 39769c2..521472a 100644 --- a/lib/PHPParser/Node/Scalar/DirConst.php +++ b/lib/PHPParser/Node/Scalar/DirConst.php @@ -2,4 +2,13 @@ class PHPParser_Node_Scalar_DirConst extends PHPParser_Node_Scalar { + /** + * Constructs a __DIR__ const node + * + * @param int $line Line + * @param null|string $docComment Nearest doc comment + */ + public function __construct($line = -1, $docComment = null) { + parent::__construct(array(), $line, $docComment); + } } \ No newline at end of file diff --git a/lib/PHPParser/Node/Scalar/Encapsed.php b/lib/PHPParser/Node/Scalar/Encapsed.php index e8b34da..0f3c825 100644 --- a/lib/PHPParser/Node/Scalar/Encapsed.php +++ b/lib/PHPParser/Node/Scalar/Encapsed.php @@ -5,4 +5,19 @@ */ class PHPParser_Node_Scalar_Encapsed extends PHPParser_Node_Scalar { + /** + * Constructs an encapsed string node. + * + * @param array $parts Encaps list + * @param int $line Line + * @param null|string $docComment Nearest doc comment + */ + public function __construct(array $parts = array(), $line = -1, $docComment = null) { + parent::__construct( + array( + 'parts' => $parts + ), + $line, $docComment + ); + } } \ No newline at end of file diff --git a/lib/PHPParser/Node/Scalar/FileConst.php b/lib/PHPParser/Node/Scalar/FileConst.php index 0ba1d3c..f386778 100644 --- a/lib/PHPParser/Node/Scalar/FileConst.php +++ b/lib/PHPParser/Node/Scalar/FileConst.php @@ -2,4 +2,13 @@ class PHPParser_Node_Scalar_FileConst extends PHPParser_Node_Scalar { + /** + * Constructs a __FILE__ const node + * + * @param int $line Line + * @param null|string $docComment Nearest doc comment + */ + public function __construct($line = -1, $docComment = null) { + parent::__construct(array(), $line, $docComment); + } } \ No newline at end of file diff --git a/lib/PHPParser/Node/Scalar/FuncConst.php b/lib/PHPParser/Node/Scalar/FuncConst.php index 5bcb6d7..0e5aa3e 100644 --- a/lib/PHPParser/Node/Scalar/FuncConst.php +++ b/lib/PHPParser/Node/Scalar/FuncConst.php @@ -2,4 +2,13 @@ class PHPParser_Node_Scalar_FuncConst extends PHPParser_Node_Scalar { + /** + * Constructs a __FUNCTION__ const node + * + * @param int $line Line + * @param null|string $docComment Nearest doc comment + */ + public function __construct($line = -1, $docComment = null) { + parent::__construct(array(), $line, $docComment); + } } \ No newline at end of file diff --git a/lib/PHPParser/Node/Scalar/LNumber.php b/lib/PHPParser/Node/Scalar/LNumber.php index dbe39a0..3d0b256 100644 --- a/lib/PHPParser/Node/Scalar/LNumber.php +++ b/lib/PHPParser/Node/Scalar/LNumber.php @@ -5,4 +5,19 @@ */ class PHPParser_Node_Scalar_LNumber extends PHPParser_Node_Scalar { + /** + * Constructs an integer number scalar node. + * + * @param int $value Value of the number + * @param int $line Line + * @param null|string $docComment Nearest doc comment + */ + public function __construct($value = 0, $line = -1, $docComment = null) { + parent::__construct( + array( + 'value' => $value + ), + $line, $docComment + ); + } } \ No newline at end of file diff --git a/lib/PHPParser/Node/Scalar/LineConst.php b/lib/PHPParser/Node/Scalar/LineConst.php index 87838bf..1ad6a5c 100644 --- a/lib/PHPParser/Node/Scalar/LineConst.php +++ b/lib/PHPParser/Node/Scalar/LineConst.php @@ -2,4 +2,13 @@ class PHPParser_Node_Scalar_LineConst extends PHPParser_Node_Scalar { + /** + * Constructs a __LINE__ const node + * + * @param int $line Line + * @param null|string $docComment Nearest doc comment + */ + public function __construct($line = -1, $docComment = null) { + parent::__construct(array(), $line, $docComment); + } } \ No newline at end of file diff --git a/lib/PHPParser/Node/Scalar/MethodConst.php b/lib/PHPParser/Node/Scalar/MethodConst.php index 8ba3fc1..a3aa993 100644 --- a/lib/PHPParser/Node/Scalar/MethodConst.php +++ b/lib/PHPParser/Node/Scalar/MethodConst.php @@ -2,4 +2,13 @@ class PHPParser_Node_Scalar_MethodConst extends PHPParser_Node_Scalar { + /** + * Constructs a __METHOD__ const node + * + * @param int $line Line + * @param null|string $docComment Nearest doc comment + */ + public function __construct($line = -1, $docComment = null) { + parent::__construct(array(), $line, $docComment); + } } \ No newline at end of file diff --git a/lib/PHPParser/Node/Scalar/NSConst.php b/lib/PHPParser/Node/Scalar/NSConst.php index 9b422ac..c85eb70 100644 --- a/lib/PHPParser/Node/Scalar/NSConst.php +++ b/lib/PHPParser/Node/Scalar/NSConst.php @@ -2,4 +2,13 @@ class PHPParser_Node_Scalar_NSConst extends PHPParser_Node_Scalar { + /** + * Constructs a __NAMESPACE__ const node + * + * @param int $line Line + * @param null|string $docComment Nearest doc comment + */ + public function __construct($line = -1, $docComment = null) { + parent::__construct(array(), $line, $docComment); + } } \ No newline at end of file diff --git a/lib/PHPParser/Node/Scalar/String.php b/lib/PHPParser/Node/Scalar/String.php index e79ae1a..678c840 100644 --- a/lib/PHPParser/Node/Scalar/String.php +++ b/lib/PHPParser/Node/Scalar/String.php @@ -1,19 +1,36 @@ $value + ), + $line, $docComment + ); + } + /** * Creates a String node from a string token (parses escape sequences). * - * @param string $s String - * @param int $line Line + * @param string $s String + * @param int $line Line + * @param null|string $docComment Nearest doc comment * * @return PHPParser_Node_Scalar_String String Node */ - public static function create($s, $line) { + public static function create($s, $line, $docComment) { $bLength = 0; if ('b' === $s[0]) { $bLength = 1; @@ -29,10 +46,7 @@ class PHPParser_Node_Scalar_String extends PHPParser_Node_Scalar $s = self::parseEscapeSequences(substr($s, $bLength + 1, -1)); } - return new self( - array('value' => $s), - $line - ); + return new self($s, $line, $docComment); } /** diff --git a/lib/PHPParser/Node/Variable.php b/lib/PHPParser/Node/Variable.php index e43302d..e463a3e 100644 --- a/lib/PHPParser/Node/Variable.php +++ b/lib/PHPParser/Node/Variable.php @@ -5,4 +5,19 @@ */ class PHPParser_Node_Variable extends PHPParser_NodeAbstract { + /** + * Constructs a variable node. + * + * @param string|PHPParser_Node_Variable|PHPParser_Node_Expr $name Name + * @param int $line Line + * @param null|string $docComment Nearest doc comment + */ + public function __construct($name, $line = -1, $docComment = null) { + parent::__construct( + array( + 'name' => $name + ), + $line, $docComment + ); + } } \ No newline at end of file diff --git a/lib/PHPParser/Parser.php b/lib/PHPParser/Parser.php index 636529c..cbdb17c 100644 --- a/lib/PHPParser/Parser.php +++ b/lib/PHPParser/Parser.php @@ -1016,7 +1016,7 @@ class PHPParser_Parser } private function yyn4($line, $docComment) { - $this->yyval = new PHPParser_Node_Name(array('parts' => $this->yyastk[$this->yysp-(1-1)], 'type' => PHPParser_Node_Name::NORMAL), $line, $docComment); + $this->yyval = new PHPParser_Node_Name($this->yyastk[$this->yysp-(1-1)], PHPParser_Node_Name::NORMAL, $line, $docComment); } private function yyn5($line, $docComment) { @@ -1492,15 +1492,15 @@ class PHPParser_Parser } private function yyn123($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable(substr($this->yyastk[$this->yysp-(1-1)], 1), $line, $docComment); } private function yyn124($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => $this->yyastk[$this->yysp-(2-2)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable($this->yyastk[$this->yysp-(2-2)], $line, $docComment); } private function yyn125($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => $this->yyastk[$this->yysp-(4-3)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable($this->yyastk[$this->yysp-(4-3)], $line, $docComment); } private function yyn126($line, $docComment) { @@ -1974,7 +1974,7 @@ class PHPParser_Parser } $this->yyval = new PHPParser_Node_Expr_StaticCall(array('class' => $tmp->var->class, 'func' => $this->yyastk[$this->yysp-(4-1)], 'args' => $this->yyastk[$this->yysp-(4-3)]), $line, $docComment); - $tmp->var = new PHPParser_Node_Variable(array('name' => $tmp->var->name), $line, $docComment); + $tmp->var = new PHPParser_Node_Variable($tmp->var->name, $line, $docComment); } else { throw new Exception; } @@ -2074,51 +2074,51 @@ class PHPParser_Parser } private function yyn265($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_LNumber(array('value' => (int) $this->yyastk[$this->yysp-(1-1)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_LNumber((int) $this->yyastk[$this->yysp-(1-1)], $line, $docComment); } private function yyn266($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_DNumber(array('value' => (double) $this->yyastk[$this->yysp-(1-1)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_DNumber((double) $this->yyastk[$this->yysp-(1-1)], $line, $docComment); } private function yyn267($line, $docComment) { - $this->yyval = PHPParser_Node_Scalar_String::create($this->yyastk[$this->yysp-(1-1)], $line); + $this->yyval = PHPParser_Node_Scalar_String::create($this->yyastk[$this->yysp-(1-1)], $line, $docComment); } private function yyn268($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_LineConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_LineConst($line, $docComment); } private function yyn269($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_FileConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_FileConst($line, $docComment); } private function yyn270($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_DirConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_DirConst($line, $docComment); } private function yyn271($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_ClassConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_ClassConst($line, $docComment); } private function yyn272($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_MethodConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_MethodConst($line, $docComment); } private function yyn273($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_FuncConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_FuncConst($line, $docComment); } private function yyn274($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_NSConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_NSConst($line, $docComment); } private function yyn275($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_String(array('value' => PHPParser_Node_Scalar_String::parseEscapeSequences($this->yyastk[$this->yysp-(3-2)])), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_String(PHPParser_Node_Scalar_String::parseEscapeSequences($this->yyastk[$this->yysp-(3-2)]), $line, $docComment); } private function yyn276($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_String(array('value' => ''), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_String('', $line, $docComment); } private function yyn277($line, $docComment) { @@ -2146,7 +2146,7 @@ class PHPParser_Parser } private function yyn283($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_String(array('value' => $this->yyastk[$this->yysp-(1-1)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_String($this->yyastk[$this->yysp-(1-1)], $line, $docComment); } private function yyn284($line, $docComment) { @@ -2162,11 +2162,11 @@ class PHPParser_Parser } private function yyn287($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_Encapsed(array('parts' => $this->yyastk[$this->yysp-(3-2)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_Encapsed($this->yyastk[$this->yysp-(3-2)], $line, $docComment); } private function yyn288($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_Encapsed(array('parts' => $this->yyastk[$this->yysp-(3-2)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_Encapsed($this->yyastk[$this->yysp-(3-2)], $line, $docComment); } private function yyn289($line, $docComment) { @@ -2242,7 +2242,7 @@ class PHPParser_Parser } private function yyn307($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => $this->yyastk[$this->yysp-(2-2)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable($this->yyastk[$this->yysp-(2-2)], $line, $docComment); } private function yyn308($line, $docComment) { @@ -2294,11 +2294,11 @@ class PHPParser_Parser } private function yyn320($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable(substr($this->yyastk[$this->yysp-(1-1)], 1), $line, $docComment); } private function yyn321($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => $this->yyastk[$this->yysp-(4-3)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable($this->yyastk[$this->yysp-(4-3)], $line, $docComment); } private function yyn322($line, $docComment) { @@ -2398,23 +2398,23 @@ class PHPParser_Parser } private function yyn346($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable(substr($this->yyastk[$this->yysp-(1-1)], 1), $line, $docComment); } private function yyn347($line, $docComment) { - $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(array('var' => new PHPParser_Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(4-1)], 1)), $line, $docComment), 'dim' => $this->yyastk[$this->yysp-(4-3)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(array('var' => new PHPParser_Node_Variable(substr($this->yyastk[$this->yysp-(4-1)], 1), $line, $docComment), 'dim' => $this->yyastk[$this->yysp-(4-3)]), $line, $docComment); } private function yyn348($line, $docComment) { - $this->yyval = new PHPParser_Node_Expr_PropertyFetch(array('var' => new PHPParser_Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(3-1)], 1)), $line, $docComment), 'name' => $this->yyastk[$this->yysp-(3-3)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Expr_PropertyFetch(array('var' => new PHPParser_Node_Variable(substr($this->yyastk[$this->yysp-(3-1)], 1), $line, $docComment), 'name' => $this->yyastk[$this->yysp-(3-3)]), $line, $docComment); } private function yyn349($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => $this->yyastk[$this->yysp-(3-2)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable($this->yyastk[$this->yysp-(3-2)], $line, $docComment); } private function yyn350($line, $docComment) { - $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(array('var' => new PHPParser_Node_Variable(array('name' => $this->yyastk[$this->yysp-(6-2)]), $line, $docComment), 'dim' => $this->yyastk[$this->yysp-(6-4)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(array('var' => new PHPParser_Node_Variable($this->yyastk[$this->yysp-(6-2)], $line, $docComment), 'dim' => $this->yyastk[$this->yysp-(6-4)]), $line, $docComment); } private function yyn351($line, $docComment) { @@ -2422,15 +2422,15 @@ class PHPParser_Parser } private function yyn352($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_String(array('value' => $this->yyastk[$this->yysp-(1-1)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_String($this->yyastk[$this->yysp-(1-1)], $line, $docComment); } private function yyn353($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_LNumber(array('value' => (int) $this->yyastk[$this->yysp-(1-1)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_LNumber((int) $this->yyastk[$this->yysp-(1-1)], $line, $docComment); } private function yyn354($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable(substr($this->yyastk[$this->yysp-(1-1)], 1), $line, $docComment); } private function yyn355($line, $docComment) { diff --git a/lib/PHPParser/ParserDebug.php b/lib/PHPParser/ParserDebug.php index 7c1fb1e..b8fbaea 100644 --- a/lib/PHPParser/ParserDebug.php +++ b/lib/PHPParser/ParserDebug.php @@ -1415,7 +1415,7 @@ class PHPParser_ParserDebug } private function yyn4($line, $docComment) { - $this->yyval = new PHPParser_Node_Name(array('parts' => $this->yyastk[$this->yysp-(1-1)], 'type' => PHPParser_Node_Name::NORMAL), $line, $docComment); + $this->yyval = new PHPParser_Node_Name($this->yyastk[$this->yysp-(1-1)], PHPParser_Node_Name::NORMAL, $line, $docComment); } private function yyn5($line, $docComment) { @@ -1891,15 +1891,15 @@ class PHPParser_ParserDebug } private function yyn123($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable(substr($this->yyastk[$this->yysp-(1-1)], 1), $line, $docComment); } private function yyn124($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => $this->yyastk[$this->yysp-(2-2)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable($this->yyastk[$this->yysp-(2-2)], $line, $docComment); } private function yyn125($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => $this->yyastk[$this->yysp-(4-3)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable($this->yyastk[$this->yysp-(4-3)], $line, $docComment); } private function yyn126($line, $docComment) { @@ -2373,7 +2373,7 @@ class PHPParser_ParserDebug } $this->yyval = new PHPParser_Node_Expr_StaticCall(array('class' => $tmp->var->class, 'func' => $this->yyastk[$this->yysp-(4-1)], 'args' => $this->yyastk[$this->yysp-(4-3)]), $line, $docComment); - $tmp->var = new PHPParser_Node_Variable(array('name' => $tmp->var->name), $line, $docComment); + $tmp->var = new PHPParser_Node_Variable($tmp->var->name, $line, $docComment); } else { throw new Exception; } @@ -2473,51 +2473,51 @@ class PHPParser_ParserDebug } private function yyn265($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_LNumber(array('value' => (int) $this->yyastk[$this->yysp-(1-1)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_LNumber((int) $this->yyastk[$this->yysp-(1-1)], $line, $docComment); } private function yyn266($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_DNumber(array('value' => (double) $this->yyastk[$this->yysp-(1-1)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_DNumber((double) $this->yyastk[$this->yysp-(1-1)], $line, $docComment); } private function yyn267($line, $docComment) { - $this->yyval = PHPParser_Node_Scalar_String::create($this->yyastk[$this->yysp-(1-1)], $line); + $this->yyval = PHPParser_Node_Scalar_String::create($this->yyastk[$this->yysp-(1-1)], $line, $docComment); } private function yyn268($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_LineConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_LineConst($line, $docComment); } private function yyn269($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_FileConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_FileConst($line, $docComment); } private function yyn270($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_DirConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_DirConst($line, $docComment); } private function yyn271($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_ClassConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_ClassConst($line, $docComment); } private function yyn272($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_MethodConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_MethodConst($line, $docComment); } private function yyn273($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_FuncConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_FuncConst($line, $docComment); } private function yyn274($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_NSConst(array(), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_NSConst($line, $docComment); } private function yyn275($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_String(array('value' => PHPParser_Node_Scalar_String::parseEscapeSequences($this->yyastk[$this->yysp-(3-2)])), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_String(PHPParser_Node_Scalar_String::parseEscapeSequences($this->yyastk[$this->yysp-(3-2)]), $line, $docComment); } private function yyn276($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_String(array('value' => ''), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_String('', $line, $docComment); } private function yyn277($line, $docComment) { @@ -2545,7 +2545,7 @@ class PHPParser_ParserDebug } private function yyn283($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_String(array('value' => $this->yyastk[$this->yysp-(1-1)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_String($this->yyastk[$this->yysp-(1-1)], $line, $docComment); } private function yyn284($line, $docComment) { @@ -2561,11 +2561,11 @@ class PHPParser_ParserDebug } private function yyn287($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_Encapsed(array('parts' => $this->yyastk[$this->yysp-(3-2)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_Encapsed($this->yyastk[$this->yysp-(3-2)], $line, $docComment); } private function yyn288($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_Encapsed(array('parts' => $this->yyastk[$this->yysp-(3-2)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_Encapsed($this->yyastk[$this->yysp-(3-2)], $line, $docComment); } private function yyn289($line, $docComment) { @@ -2641,7 +2641,7 @@ class PHPParser_ParserDebug } private function yyn307($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => $this->yyastk[$this->yysp-(2-2)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable($this->yyastk[$this->yysp-(2-2)], $line, $docComment); } private function yyn308($line, $docComment) { @@ -2693,11 +2693,11 @@ class PHPParser_ParserDebug } private function yyn320($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable(substr($this->yyastk[$this->yysp-(1-1)], 1), $line, $docComment); } private function yyn321($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => $this->yyastk[$this->yysp-(4-3)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable($this->yyastk[$this->yysp-(4-3)], $line, $docComment); } private function yyn322($line, $docComment) { @@ -2797,23 +2797,23 @@ class PHPParser_ParserDebug } private function yyn346($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable(substr($this->yyastk[$this->yysp-(1-1)], 1), $line, $docComment); } private function yyn347($line, $docComment) { - $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(array('var' => new PHPParser_Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(4-1)], 1)), $line, $docComment), 'dim' => $this->yyastk[$this->yysp-(4-3)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(array('var' => new PHPParser_Node_Variable(substr($this->yyastk[$this->yysp-(4-1)], 1), $line, $docComment), 'dim' => $this->yyastk[$this->yysp-(4-3)]), $line, $docComment); } private function yyn348($line, $docComment) { - $this->yyval = new PHPParser_Node_Expr_PropertyFetch(array('var' => new PHPParser_Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(3-1)], 1)), $line, $docComment), 'name' => $this->yyastk[$this->yysp-(3-3)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Expr_PropertyFetch(array('var' => new PHPParser_Node_Variable(substr($this->yyastk[$this->yysp-(3-1)], 1), $line, $docComment), 'name' => $this->yyastk[$this->yysp-(3-3)]), $line, $docComment); } private function yyn349($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => $this->yyastk[$this->yysp-(3-2)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable($this->yyastk[$this->yysp-(3-2)], $line, $docComment); } private function yyn350($line, $docComment) { - $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(array('var' => new PHPParser_Node_Variable(array('name' => $this->yyastk[$this->yysp-(6-2)]), $line, $docComment), 'dim' => $this->yyastk[$this->yysp-(6-4)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(array('var' => new PHPParser_Node_Variable($this->yyastk[$this->yysp-(6-2)], $line, $docComment), 'dim' => $this->yyastk[$this->yysp-(6-4)]), $line, $docComment); } private function yyn351($line, $docComment) { @@ -2821,15 +2821,15 @@ class PHPParser_ParserDebug } private function yyn352($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_String(array('value' => $this->yyastk[$this->yysp-(1-1)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_String($this->yyastk[$this->yysp-(1-1)], $line, $docComment); } private function yyn353($line, $docComment) { - $this->yyval = new PHPParser_Node_Scalar_LNumber(array('value' => (int) $this->yyastk[$this->yysp-(1-1)]), $line, $docComment); + $this->yyval = new PHPParser_Node_Scalar_LNumber((int) $this->yyastk[$this->yysp-(1-1)], $line, $docComment); } private function yyn354($line, $docComment) { - $this->yyval = new PHPParser_Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)), $line, $docComment); + $this->yyval = new PHPParser_Node_Variable(substr($this->yyastk[$this->yysp-(1-1)], 1), $line, $docComment); } private function yyn355($line, $docComment) { diff --git a/test/Unit/NodeDumperTest.php b/test/Unit/NodeDumperTest.php index e329baf..116f7aa 100644 --- a/test/Unit/NodeDumperTest.php +++ b/test/Unit/NodeDumperTest.php @@ -27,12 +27,13 @@ class Unit_NodeDumperTest extends PHPUnit_Framework_TestCase )' ), array( - new PHPParser_Node_Name(array('parts' => array('Hallo', 'World'))), + new PHPParser_Node_Name(array('Hallo', 'World')), 'Name( parts: array( 0: Hallo 1: World ) + type: 0 )' ), array( diff --git a/test/Unit/NodeTraverserTest.php b/test/Unit/NodeTraverserTest.php index 8c80ca1..68565a6 100644 --- a/test/Unit/NodeTraverserTest.php +++ b/test/Unit/NodeTraverserTest.php @@ -5,21 +5,15 @@ class Unit_NodeTraverserTest extends PHPUnit_Framework_TestCase function getTestNode() { return array( new PHPParser_Node_Stmt_Namespace(array( - 'name' => new PHPParser_Node_Name(array( - 'parts' => array('Foo', 'Bar') - )), + 'name' => new PHPParser_Node_Name(array('Foo', 'Bar')), 'stmts' => array( new PHPParser_Node_Stmt_Echo(array( 'exprs' => array( - new PHPParser_Node_Scalar_String(array( - 'value' => 'Hallo World' - )) + new PHPParser_Node_Scalar_String('Hallo World') ) )), new PHPParser_Node_Expr_Print(array( - 'expr' => new PHPParser_Node_Scalar_String(array( - 'value' => 'Hallo World, again!' - )) + 'expr' => new PHPParser_Node_Scalar_String('Hallo World, again!') )), ) )), @@ -77,9 +71,7 @@ class Unit_NodeTraverserTest extends PHPUnit_Framework_TestCase array( new PHPParser_Node_Stmt_Echo(array( 'exprs' => array( - new PHPParser_Node_Scalar_String(array( - 'value' => 'Foo Bar' - )) + new PHPParser_Node_Scalar_String('Foo Bar') ) )), ),