mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-15 21:36:50 -05:00
Merge pull request #7144 from Microsoft/super-inside-inner-class-crashes
Super inside inner class crashes
This commit is contained in:
@@ -10112,8 +10112,10 @@ namespace ts {
|
||||
// In super call, the candidate signatures are the matching arity signatures of the base constructor function instantiated
|
||||
// with the type arguments specified in the extends clause.
|
||||
const baseTypeNode = getClassExtendsHeritageClauseElement(getContainingClass(node));
|
||||
const baseConstructors = getInstantiatedConstructorsForTypeArguments(superType, baseTypeNode.typeArguments);
|
||||
return resolveCall(node, baseConstructors, candidatesOutArray);
|
||||
if (baseTypeNode) {
|
||||
const baseConstructors = getInstantiatedConstructorsForTypeArguments(superType, baseTypeNode.typeArguments);
|
||||
return resolveCall(node, baseConstructors, candidatesOutArray);
|
||||
}
|
||||
}
|
||||
return resolveUntypedCall(node);
|
||||
}
|
||||
|
||||
15
tests/cases/fourslash/superInsideInnerClass.ts
Normal file
15
tests/cases/fourslash/superInsideInnerClass.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
////class Base {
|
||||
//// constructor(n: number) {
|
||||
//// }
|
||||
////}
|
||||
////class Derived extends Base {
|
||||
//// constructor() {
|
||||
//// class Nested {
|
||||
//// [super(/*1*/)] = 11111
|
||||
//// }
|
||||
//// }
|
||||
////}
|
||||
|
||||
goTo.marker('1');
|
||||
verify.signatureHelpCountIs(0);
|
||||
Reference in New Issue
Block a user