fix(no-deprecated): detect deprecation on inherited methods with no child override#709
Merged
camc314 merged 3 commits intooxc-project:mainfrom Feb 21, 2026
Merged
Conversation
b4e7b7c to
0967c83
Compare
…hild override In typescript-go, `Checker_getResolvedSignature` may return a signature without a declaration for methods inherited from a base class when the child class does not override them. The existing signature-based check would silently produce no declaration, leaving the fallback symbol check as the only option. Add `getJsDocDeprecation(aliasedSymbol)` as a fallback in the method/ function branch of `getCallLikeDeprecation`, guarded by `signatureDecl == nil`. The guard ensures the fallback never fires for overloaded functions (which always resolve a concrete signatureDecl), preventing false positives on non-deprecated overloads. Also add the `allDeclarationsAmbient` helper and `getDeprecatedPropertyInTypeChain` recursive helper for a future fix to the `declare` re-declaration case (Case 2), which is currently skipped pending typescript-go improvements to base-type symbol resolution. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ad79056 to
c0054fe
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
In typescript-go, `Checker_getResolvedSignature` may not return a declaration for methods inherited from a base class when the child provides no override. The existing signature-based check silently produces no declaration, leaving the deprecation undetected.
Test plan
🤖 Generated with Claude Code