Skip to content

Commit 82c0a79

Browse files
authored
remove JS exception for constructor type parameter arity match (#1434)
1 parent 53e5c70 commit 82c0a79

File tree

4 files changed

+39
-2
lines changed

4 files changed

+39
-2
lines changed

internal/checker/checker.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18364,9 +18364,8 @@ func (c *Checker) getInstantiatedConstructorsForTypeArguments(t *Type, typeArgum
1836418364

1836518365
func (c *Checker) getConstructorsForTypeArguments(t *Type, typeArgumentNodes []*ast.Node, location *ast.Node) []*Signature {
1836618366
typeArgCount := len(typeArgumentNodes)
18367-
isJavaScript := ast.IsInJSFile(location)
1836818367
return core.Filter(c.getSignaturesOfType(t, SignatureKindConstruct), func(sig *Signature) bool {
18369-
return isJavaScript || typeArgCount >= c.getMinTypeArgumentCount(sig.typeParameters) && typeArgCount <= len(sig.typeParameters)
18368+
return typeArgCount >= c.getMinTypeArgumentCount(sig.typeParameters) && typeArgCount <= len(sig.typeParameters)
1837018369
})
1837118370
}
1837218371

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//// [tests/cases/conformance/salsa/jsOverrideMap.ts] ////
2+
3+
=== index.js ===
4+
/**
5+
* @template K
6+
* @template V
7+
* @extends {Map<K, V>}
8+
*/
9+
export class TestMap extends Map {
10+
>TestMap : Symbol(TestMap, Decl(index.js, 0, 0))
11+
>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
12+
}
13+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//// [tests/cases/conformance/salsa/jsOverrideMap.ts] ////
2+
3+
=== index.js ===
4+
/**
5+
* @template K
6+
* @template V
7+
* @extends {Map<K, V>}
8+
*/
9+
export class TestMap extends Map {
10+
>TestMap : TestMap<K, V>
11+
>Map : Map<K, V>
12+
}
13+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// @allowJs: true
2+
// @noEmit: true
3+
// @checkJs: true
4+
// @lib: esnext,dom,dom.iterable
5+
// @filename: index.js
6+
/**
7+
* @template K
8+
* @template V
9+
* @extends {Map<K, V>}
10+
*/
11+
export class TestMap extends Map {
12+
}

0 commit comments

Comments
 (0)