mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-06 02:33:53 -06:00
fix(47788): forbid convertToMappedObjectType QF in invalid index signatures (#47798)
This commit is contained in:
parent
460908a478
commit
17b97ccc43
@ -25,9 +25,12 @@ namespace ts.codefix {
|
||||
interface Info { readonly indexSignature: IndexSignatureDeclaration; readonly container: FixableDeclaration; }
|
||||
function getInfo(sourceFile: SourceFile, pos: number): Info | undefined {
|
||||
const token = getTokenAtPosition(sourceFile, pos);
|
||||
const indexSignature = cast(token.parent.parent, isIndexSignatureDeclaration);
|
||||
if (isClassDeclaration(indexSignature.parent)) return undefined;
|
||||
const container = isInterfaceDeclaration(indexSignature.parent) ? indexSignature.parent : cast(indexSignature.parent.parent, isTypeAliasDeclaration);
|
||||
const indexSignature = tryCast(token.parent.parent, isIndexSignatureDeclaration);
|
||||
if (!indexSignature) return undefined;
|
||||
|
||||
const container = isInterfaceDeclaration(indexSignature.parent) ? indexSignature.parent : tryCast(indexSignature.parent.parent, isTypeAliasDeclaration);
|
||||
if (!container) return undefined;
|
||||
|
||||
return { indexSignature, container };
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
////let x: {
|
||||
//// [p: ""]: string;
|
||||
////}
|
||||
|
||||
verify.not.codeFixAvailable("fixConvertToMappedObjectType");
|
||||
Loading…
x
Reference in New Issue
Block a user