@@ -41,7 +41,7 @@ class Error extends \Exception
4141 * @param array|null $nodes
4242 * @return Error
4343 */
44- public static function createLocatedError ($ error , array $ nodes = null )
44+ public static function createLocatedError ($ error , $ nodes = null )
4545 {
4646 if ($ error instanceof \Exception) {
4747 $ message = $ error ->getMessage ();
@@ -56,11 +56,11 @@ public static function createLocatedError($error, array $nodes = null)
5656
5757 /**
5858 * @param Error $error
59- * @return FormattedError
59+ * @return array
6060 */
6161 public static function formatError (Error $ error )
6262 {
63- return new FormattedError ($ error ->getMessage (), $ error ->getLocations ());
63+ return FormattedError:: create ($ error ->getMessage (), $ error ->getLocations ());
6464 }
6565
6666 /**
@@ -69,12 +69,17 @@ public static function formatError(Error $error)
6969 * @param Source $source
7070 * @param null $positions
7171 */
72- public function __construct ($ message , array $ nodes = null , \Exception $ previous = null , Source $ source = null , $ positions = null )
72+ public function __construct ($ message , $ nodes = null , \Exception $ previous = null , Source $ source = null , $ positions = null )
7373 {
7474 parent ::__construct ($ message , 0 , $ previous );
7575
76+ if ($ nodes instanceof \Traversable) {
77+ $ nodes = iterator_to_array ($ nodes );
78+ }
79+
7680 $ this ->nodes = $ nodes ;
7781 $ this ->source = $ source ;
82+ $ this ->positions = $ positions ;
7883 }
7984
8085 /**
0 commit comments