This repository was archived by the owner on Jan 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 34
This repository was archived by the owner on Jan 12, 2024. It is now read-only.
NPE on return statement with no argument #4
Copy link
Copy link
Closed
Description
Running the transform on the following code results in a NPE:
function foo() {
return;
}
TypeError: /Users/dounanshi/dev/babel-plugin-add-react-displayname/test/fixtures/emptyReturn/input.js: Cannot read property 'type' of null
at doesReturnJSX (/Users/dounanshi/dev/babel-plugin-add-react-displayname/index.js:145:32)
at PluginPass.FunctionDeclaration (/Users/dounanshi/dev/babel-plugin-add-react-displayname/index.js:13:13)
at newFn (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/visitors.js:276:21)
at NodePath._call (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/path/context.js:76:18)
at NodePath.call (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/path/context.js:48:17)
at NodePath.visit (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/path/context.js:105:12)
at TraversalContext.visitQueue (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/context.js:150:16)
at TraversalContext.visitMultiple (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/context.js:103:17)
at TraversalContext.visit (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/context.js:190:19)
at Function.traverse.node (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/index.js:114:17)
at NodePath.visit (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/path/context.js:115:19)
at TraversalContext.visitQueue (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/context.js:150:16)
at TraversalContext.visitSingle (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/context.js:108:19)
at TraversalContext.visit (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/context.js:192:19)
at Function.traverse.node (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/index.js:114:17)
at traverse (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-traverse/lib/index.js:79:12)
at File.transform (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-core/lib/transformation/file/index.js:548:35)
at /Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-core/lib/transformation/pipeline.js:50:19
at File.wrap (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-core/lib/transformation/file/index.js:564:16)
at Pipeline.transform (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-core/lib/transformation/pipeline.js:47:17)
at Object.transformFileSync (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/babel-core/lib/api/node.js:152:10)
at transformFile (/Users/dounanshi/dev/babel-plugin-add-react-displayname/test/tests.js:31:16)
at /Users/dounanshi/dev/babel-plugin-add-react-displayname/test/tests.js:15:18
at Array.forEach (native)
at Suite.<anonymous> (/Users/dounanshi/dev/babel-plugin-add-react-displayname/test/tests.js:14:31)
at Object.create (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/mocha/lib/interfaces/common.js:114:19)
at context.describe.context.context (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/mocha/lib/interfaces/bdd.js:44:27)
at Object.<anonymous> (/Users/dounanshi/dev/babel-plugin-add-react-displayname/test/tests.js:12:1)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at /Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/mocha/lib/mocha.js:230:27
at Array.forEach (native)
at Mocha.loadFiles (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/mocha/lib/mocha.js:227:14)
at Mocha.run (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/mocha/lib/mocha.js:513:10)
at Object.<anonymous> (/Users/dounanshi/dev/babel-plugin-add-react-displayname/node_modules/mocha/bin/_mocha:480:18)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
A potential fix is to change line 145 to be:
return lastBlock.argument && lastBlock.argument.type === 'JSXElement'
Metadata
Metadata
Assignees
Labels
No labels