diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 1a5be51f95734..7a1364c7a1f7b 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1482,7 +1482,7 @@ namespace ts { // We just climbed up parents looking for the name, meaning that we started in a descendant node of `lastLocation`. // If `result === lastSelfReferenceLocation.symbol`, that means that we are somewhere inside `lastSelfReferenceLocation` looking up a name, and resolving to `lastLocation` itself. // That means that this is a self-reference of `lastLocation`, and shouldn't count this when considering whether `lastLocation` is used. - if (isUse && result && (!lastSelfReferenceLocation || result !== lastSelfReferenceLocation.symbol) && !isInTypeQuery(originalLocation!)) { + if (isUse && result && (!lastSelfReferenceLocation || result !== lastSelfReferenceLocation.symbol)) { result.isReferenced! |= meaning; } @@ -19054,7 +19054,7 @@ namespace ts { } function markPropertyAsReferenced(prop: Symbol, nodeForCheckWriteOnly: Node | undefined, isThisAccess: boolean) { - if (nodeForCheckWriteOnly && isInTypeQuery(nodeForCheckWriteOnly) || !(prop.flags & SymbolFlags.ClassMember) || !prop.valueDeclaration || !hasModifier(prop.valueDeclaration, ModifierFlags.Private)) { + if (!prop || !(prop.flags & SymbolFlags.ClassMember) || !prop.valueDeclaration || !hasModifier(prop.valueDeclaration, ModifierFlags.Private)) { return; } if (nodeForCheckWriteOnly && isWriteOnlyAccess(nodeForCheckWriteOnly) && !(prop.flags & SymbolFlags.SetAccessor && !(prop.flags & SymbolFlags.GetAccessor))) { diff --git a/tests/baselines/reference/unusedParameterUsedInTypeOf.errors.txt b/tests/baselines/reference/unusedParameterUsedInTypeOf.errors.txt deleted file mode 100644 index a2a30badc4ac2..0000000000000 --- a/tests/baselines/reference/unusedParameterUsedInTypeOf.errors.txt +++ /dev/null @@ -1,9 +0,0 @@ -tests/cases/compiler/unusedParameterUsedInTypeOf.ts(1,14): error TS6133: 'a' is declared but its value is never read. - - -==== tests/cases/compiler/unusedParameterUsedInTypeOf.ts (1 errors) ==== - function f1 (a: number, b: typeof a) { - ~ -!!! error TS6133: 'a' is declared but its value is never read. - return b; - } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPropertyUsedInTypeOf.errors.txt b/tests/baselines/reference/unusedPropertyUsedInTypeOf.errors.txt deleted file mode 100644 index 60657d9c8c9eb..0000000000000 --- a/tests/baselines/reference/unusedPropertyUsedInTypeOf.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/compiler/unusedPropertyUsedInTypeOf.ts(2,29): error TS6133: 'x' is declared but its value is never read. - - -==== tests/cases/compiler/unusedPropertyUsedInTypeOf.ts (1 errors) ==== - class C { - private static readonly x: number; - ~ -!!! error TS6133: 'x' is declared but its value is never read. - m(p: typeof C.x) { return p; } - } - \ No newline at end of file diff --git a/tests/baselines/reference/unusedPropertyUsedInTypeOf.js b/tests/baselines/reference/unusedPropertyUsedInTypeOf.js deleted file mode 100644 index 98a1e9f0029df..0000000000000 --- a/tests/baselines/reference/unusedPropertyUsedInTypeOf.js +++ /dev/null @@ -1,14 +0,0 @@ -//// [unusedPropertyUsedInTypeOf.ts] -class C { - private static readonly x: number; - m(p: typeof C.x) { return p; } -} - - -//// [unusedPropertyUsedInTypeOf.js] -var C = /** @class */ (function () { - function C() { - } - C.prototype.m = function (p) { return p; }; - return C; -}()); diff --git a/tests/baselines/reference/unusedPropertyUsedInTypeOf.symbols b/tests/baselines/reference/unusedPropertyUsedInTypeOf.symbols deleted file mode 100644 index 9715c3fa11f8a..0000000000000 --- a/tests/baselines/reference/unusedPropertyUsedInTypeOf.symbols +++ /dev/null @@ -1,16 +0,0 @@ -=== tests/cases/compiler/unusedPropertyUsedInTypeOf.ts === -class C { ->C : Symbol(C, Decl(unusedPropertyUsedInTypeOf.ts, 0, 0)) - - private static readonly x: number; ->x : Symbol(C.x, Decl(unusedPropertyUsedInTypeOf.ts, 0, 9)) - - m(p: typeof C.x) { return p; } ->m : Symbol(C.m, Decl(unusedPropertyUsedInTypeOf.ts, 1, 38)) ->p : Symbol(p, Decl(unusedPropertyUsedInTypeOf.ts, 2, 6)) ->C.x : Symbol(C.x, Decl(unusedPropertyUsedInTypeOf.ts, 0, 9)) ->C : Symbol(C, Decl(unusedPropertyUsedInTypeOf.ts, 0, 0)) ->x : Symbol(C.x, Decl(unusedPropertyUsedInTypeOf.ts, 0, 9)) ->p : Symbol(p, Decl(unusedPropertyUsedInTypeOf.ts, 2, 6)) -} - diff --git a/tests/baselines/reference/unusedPropertyUsedInTypeOf.types b/tests/baselines/reference/unusedPropertyUsedInTypeOf.types deleted file mode 100644 index 12b40eb5ff62e..0000000000000 --- a/tests/baselines/reference/unusedPropertyUsedInTypeOf.types +++ /dev/null @@ -1,16 +0,0 @@ -=== tests/cases/compiler/unusedPropertyUsedInTypeOf.ts === -class C { ->C : C - - private static readonly x: number; ->x : number - - m(p: typeof C.x) { return p; } ->m : (p: number) => number ->p : number ->C.x : number ->C : typeof C ->x : number ->p : number -} - diff --git a/tests/cases/compiler/unusedPropertyUsedInTypeOf.ts b/tests/cases/compiler/unusedPropertyUsedInTypeOf.ts deleted file mode 100644 index 41c685e4b06db..0000000000000 --- a/tests/cases/compiler/unusedPropertyUsedInTypeOf.ts +++ /dev/null @@ -1,7 +0,0 @@ -// @noUnusedLocals:true -// @noUnusedParameters:true - -class C { - private static readonly x: number; - m(p: typeof C.x) { return p; } -}