From f5b921cda9bba8e398c7557c0e37e603b227cbc2 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Sat, 13 Jun 2015 02:19:44 +0100 Subject: [PATCH] better errorWithNode that's consolidated across paths and files --- src/babel/transformation/file/index.js | 3 ++- src/babel/traversal/path/index.js | 5 +---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/babel/transformation/file/index.js b/src/babel/transformation/file/index.js index ca3cef3490..e7b2d6d1ac 100644 --- a/src/babel/transformation/file/index.js +++ b/src/babel/transformation/file/index.js @@ -415,11 +415,12 @@ export default class File { errorWithNode(node, msg, Error = SyntaxError) { var err; - if (node.loc) { + if (node && node.loc) { var loc = node.loc.start; err = new Error(`Line ${loc.line}: ${msg}`); err.loc = loc; } else { + // todo: find errors with nodes inside to at least point to something err = new Error("There's been an error on a dynamic node. This is almost certainly an internal error. Please report it."); } return err; diff --git a/src/babel/traversal/path/index.js b/src/babel/traversal/path/index.js index 6df4b3c929..96b37e1613 100644 --- a/src/babel/traversal/path/index.js +++ b/src/babel/traversal/path/index.js @@ -81,10 +81,7 @@ export default class NodePath { */ errorWithNode(msg, Error = SyntaxError) { - var loc = this.node.loc.start; - var err = new Error(`Line ${loc.line}: ${msg}`); - err.loc = loc; - return err; + return this.hub.file.errorWithNode(this.node, msg, Error); } /**