Skip to content

Commit f8f9721

Browse files
committed
scan everything but characters of interest
1 parent 95dbeb2 commit f8f9721

File tree

4 files changed

+6
-12
lines changed

4 files changed

+6
-12
lines changed

src/compiler/parser.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8577,7 +8577,7 @@ namespace Parser {
85778577
let tagsEnd: number;
85788578
let linkEnd: number;
85798579
let commentsPos: number | undefined;
8580-
let comments: string[] = []; // TODO: Push this down!!
8580+
let comments: string[] = [];
85818581
const parts: JSDocComment[] = [];
85828582

85838583
// + 3 for leading /**, - 5 in total for /** */

src/compiler/scanner.ts

+3-11
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,9 @@ export function tokenIsIdentifierOrKeywordOrGreaterThan(token: SyntaxKind): bool
4040
}
4141

4242
export interface Scanner {
43-
/** @deprecated use getFullStart */
4443
getStartPos(): number;
4544
getToken(): SyntaxKind;
46-
/** @deprecated use getEnd/getTokenEnd */
4745
getTextPos(): number;
48-
/** @deprecated use getStart/getTokenStart */
4946
getTokenPos(): number;
5047
getTokenText(): string;
5148
getTokenValue(): string;
@@ -90,7 +87,6 @@ export interface Scanner {
9087
setOnError(onError: ErrorCallback | undefined): void;
9188
setScriptTarget(scriptTarget: ScriptTarget): void;
9289
setLanguageVariant(variant: LanguageVariant): void;
93-
/** @deprecated use setEnd/setTokenEnd */
9490
setTextPos(textPos: number): void;
9591
/** @internal */
9692
setInJSDocType(inType: boolean): void;
@@ -2471,13 +2467,9 @@ export function createScanner(languageVersion: ScriptTarget,
24712467

24722468
let ch = codePointAt(text, pos);
24732469
while (pos < end) {
2474-
if (isWhiteSpaceSingleLine(ch)) {
2475-
pos++;
2476-
}
2477-
else if (isIdentifierStart(ch, languageVersion)) {
2478-
let char = ch;
2479-
while (pos < end && isIdentifierPart(char = codePointAt(text, pos), languageVersion) || text.charCodeAt(pos) === CharacterCodes.minus)
2480-
pos += charSize(char);
2470+
if (ch !== CharacterCodes.lineFeed && ch !== CharacterCodes.at && ch !== CharacterCodes.backtick && ch !== CharacterCodes.openBrace) {
2471+
// TODO: We can also be smarter about openBrace, backtick and at by looking at a tiny amount of context
2472+
pos++
24812473
}
24822474
else {
24832475
break;

tests/baselines/reference/api/tsserverlibrary.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -8350,6 +8350,7 @@ declare namespace ts {
83508350
reScanInvalidIdentifier(): SyntaxKind;
83518351
scanJsxToken(): JsxTokenSyntaxKind;
83528352
scanJsDocToken(): JSDocSyntaxKind;
8353+
scanBigJsDocToken(): JSDocSyntaxKind;
83538354
scan(): SyntaxKind;
83548355
getText(): string;
83558356
setText(text: string | undefined, start?: number, length?: number): void;

tests/baselines/reference/api/typescript.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -4407,6 +4407,7 @@ declare namespace ts {
44074407
reScanInvalidIdentifier(): SyntaxKind;
44084408
scanJsxToken(): JsxTokenSyntaxKind;
44094409
scanJsDocToken(): JSDocSyntaxKind;
4410+
scanBigJsDocToken(): JSDocSyntaxKind;
44104411
scan(): SyntaxKind;
44114412
getText(): string;
44124413
setText(text: string | undefined, start?: number, length?: number): void;

0 commit comments

Comments
 (0)