diff --git a/src/compiler/core.ts b/src/compiler/core.ts index ec4c777852b59..823349eda9173 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -764,8 +764,8 @@ namespace ts { } Node.prototype = { kind: kind, - pos: 0, - end: 0, + pos: -1, + end: -1, flags: 0, parent: undefined, }; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index f48e5306dcead..e66e1925519ed 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -144,7 +144,7 @@ namespace ts { return true; } - return node.pos === node.end && node.kind !== SyntaxKind.EndOfFileToken; + return node.pos === node.end && node.pos >= 0 && node.kind !== SyntaxKind.EndOfFileToken; } export function nodeIsPresent(node: Node) { @@ -1428,8 +1428,6 @@ namespace ts { export function createSynthesizedNode(kind: SyntaxKind, startsOnNewLine?: boolean): Node { let node = createNode(kind); - node.pos = -1; - node.end = -1; node.startsOnNewLine = startsOnNewLine; return node; } diff --git a/src/services/services.ts b/src/services/services.ts index 159b1b817b1fb..3efecd6857215 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -7387,8 +7387,8 @@ namespace ts { } let proto = kind === SyntaxKind.SourceFile ? new SourceFileObject() : new NodeObject(); proto.kind = kind; - proto.pos = 0; - proto.end = 0; + proto.pos = -1; + proto.end = -1; proto.flags = 0; proto.parent = undefined; Node.prototype = proto;