Use substring instead of substr (#20578)

* Use substring instead of substr

* Remove unused scanning of SyntaxKind.DotDotDotToken in jsdoc

* Remove other unnecessary jsdoc syntax kinds

* Move all pos++ together
This commit is contained in:
Andy
2018-01-08 14:54:18 -08:00
committed by GitHub
parent 464df8f699
commit a23bbe65e6
5 changed files with 44 additions and 51 deletions

View File

@@ -6276,17 +6276,17 @@ namespace ts {
indent += text.length;
}
nextJSDocToken();
while (token() === SyntaxKind.WhitespaceTrivia) {
nextJSDocToken();
let t = nextJSDocToken();
while (t === SyntaxKind.WhitespaceTrivia) {
t = nextJSDocToken();
}
if (token() === SyntaxKind.NewLineTrivia) {
if (t === SyntaxKind.NewLineTrivia) {
state = JSDocState.BeginningOfLine;
indent = 0;
nextJSDocToken();
t = nextJSDocToken();
}
while (token() !== SyntaxKind.EndOfFileToken) {
switch (token()) {
loop: while (true) {
switch (t) {
case SyntaxKind.AtToken:
if (state === JSDocState.BeginningOfLine || state === JSDocState.SawAsterisk) {
removeTrailingNewlines(comments);
@@ -6340,7 +6340,7 @@ namespace ts {
indent += whitespace.length;
break;
case SyntaxKind.EndOfFileToken:
break;
break loop;
default:
// anything other than whitespace or asterisk at the beginning of the line starts the comment text
state = JSDocState.SavingComments;
@@ -6348,10 +6348,11 @@ namespace ts {
break;
}
if (advanceToken) {
nextJSDocToken();
t = nextJSDocToken();
}
else {
advanceToken = true;
t = currentToken as JsDocSyntaxKind;
}
}
removeLeadingNewlines(comments);
@@ -6462,8 +6463,9 @@ namespace ts {
comments.push(text);
indent += text.length;
}
while (token() !== SyntaxKind.AtToken && token() !== SyntaxKind.EndOfFileToken) {
switch (token()) {
let tok = token() as JsDocSyntaxKind;
loop: while (true) {
switch (tok) {
case SyntaxKind.NewLineTrivia:
if (state >= JSDocState.SawAsterisk) {
state = JSDocState.BeginningOfLine;
@@ -6472,8 +6474,9 @@ namespace ts {
indent = 0;
break;
case SyntaxKind.AtToken:
case SyntaxKind.EndOfFileToken:
// Done
break;
break loop;
case SyntaxKind.WhitespaceTrivia:
if (state === JSDocState.SavingComments) {
pushComment(scanner.getTokenText());
@@ -6501,11 +6504,7 @@ namespace ts {
pushComment(scanner.getTokenText());
break;
}
if (token() === SyntaxKind.AtToken) {
// Done
break;
}
nextJSDocToken();
tok = nextJSDocToken();
}
removeLeadingNewlines(comments);
@@ -6783,8 +6782,7 @@ namespace ts {
let canParseTag = true;
let seenAsterisk = false;
while (true) {
nextJSDocToken();
switch (token()) {
switch (nextJSDocToken()) {
case SyntaxKind.AtToken:
if (canParseTag) {
const child = tryParseChildTag(target);
@@ -6880,7 +6878,7 @@ namespace ts {
return result;
}
function nextJSDocToken(): SyntaxKind {
function nextJSDocToken(): JsDocSyntaxKind {
return currentToken = scanner.scanJSDocToken();
}