Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tools/node_modules/eslint/node_modules/@babel/generator/lib/generators/methods.js')
-rw-r--r--tools/node_modules/eslint/node_modules/@babel/generator/lib/generators/methods.js42
1 files changed, 35 insertions, 7 deletions
diff --git a/tools/node_modules/eslint/node_modules/@babel/generator/lib/generators/methods.js b/tools/node_modules/eslint/node_modules/@babel/generator/lib/generators/methods.js
index 1018e2152a9..3277531b938 100644
--- a/tools/node_modules/eslint/node_modules/@babel/generator/lib/generators/methods.js
+++ b/tools/node_modules/eslint/node_modules/@babel/generator/lib/generators/methods.js
@@ -29,7 +29,9 @@ function _params(node) {
}
function _parameters(parameters, parent) {
- for (let i = 0; i < parameters.length; i++) {
+ const paramLength = parameters.length;
+
+ for (let i = 0; i < paramLength; i++) {
this._param(parameters[i], parent);
if (i < parameters.length - 1) {
@@ -37,6 +39,10 @@ function _parameters(parameters, parent) {
this.space();
}
}
+
+ if (paramLength === 0) {
+ this.printInnerComments(parent);
+ }
}
function _param(parameter, parent) {
@@ -59,25 +65,36 @@ function _methodHead(node) {
this.space();
}
- if (node.async) {
- this._catchUp("start", key.loc);
+ const {
+ _noLineTerminator
+ } = this;
+ if (node.async) {
+ this._noLineTerminator = true;
this.word("async");
this.space();
}
if (kind === "method" || kind === "init") {
if (node.generator) {
+ if (node.async) {
+ this.printInnerComments(node);
+ }
+
this.tokenChar(42);
+ this._noLineTerminator = _noLineTerminator;
}
}
if (node.computed) {
this.tokenChar(91);
+ this._noLineTerminator = _noLineTerminator;
this.print(key, node);
this.tokenChar(93);
+ this.printInnerComments(node);
} else {
this.print(key, node);
+ this._noLineTerminator = _noLineTerminator;
}
if (node.optional) {
@@ -128,23 +145,34 @@ function FunctionExpression(node) {
}
function ArrowFunctionExpression(node) {
+ const {
+ _noLineTerminator
+ } = this;
+
if (node.async) {
+ this._noLineTerminator = true;
this.word("async");
this.space();
}
- const firstParam = node.params[0];
+ let firstParam;
- if (!this.format.retainLines && !this.format.auxiliaryCommentBefore && !this.format.auxiliaryCommentAfter && node.params.length === 1 && isIdentifier(firstParam) && !hasTypesOrComments(node, firstParam)) {
+ if (!this.format.retainLines && node.params.length === 1 && isIdentifier(firstParam = node.params[0]) && !hasTypesOrComments(node, firstParam)) {
this.print(firstParam, node);
+ this._noLineTerminator = _noLineTerminator;
} else {
+ this._noLineTerminator = _noLineTerminator;
+
this._params(node);
}
this._predicate(node);
- this.space();
- this.token("=>");
+ this.ensureNoLineTerminator(() => {
+ this.space();
+ this.printInnerComments(node);
+ this.token("=>");
+ });
this.space();
this.print(node.body, node);
}