@@ -1700,15 +1700,22 @@ namespace ts {
1700
1700
}
1701
1701
1702
1702
// @api
1703
- function createConstructorTypeNode (
1703
+ function createConstructorTypeNode ( ...args : Parameters < typeof createConstructorTypeNode1 | typeof createConstructorTypeNode2 > ) {
1704
+ return args . length === 4 ? createConstructorTypeNode1 ( ...args ) :
1705
+ args . length === 3 ? createConstructorTypeNode2 ( ...args ) :
1706
+ Debug . fail ( "Incorrect number of arguments specified." ) ;
1707
+ }
1708
+
1709
+ function createConstructorTypeNode1 (
1710
+ modifiers : readonly Modifier [ ] | undefined ,
1704
1711
typeParameters : readonly TypeParameterDeclaration [ ] | undefined ,
1705
1712
parameters : readonly ParameterDeclaration [ ] ,
1706
1713
type : TypeNode | undefined
1707
1714
) : ConstructorTypeNode {
1708
1715
const node = createBaseSignatureDeclaration < ConstructorTypeNode > (
1709
1716
SyntaxKind . ConstructorType ,
1710
1717
/*decorators*/ undefined ,
1711
- /* modifiers*/ undefined ,
1718
+ modifiers ,
1712
1719
/*name*/ undefined ,
1713
1720
typeParameters ,
1714
1721
parameters ,
@@ -1718,20 +1725,47 @@ namespace ts {
1718
1725
return node ;
1719
1726
}
1720
1727
1728
+ /** @deprecated */
1729
+ function createConstructorTypeNode2 (
1730
+ typeParameters : readonly TypeParameterDeclaration [ ] | undefined ,
1731
+ parameters : readonly ParameterDeclaration [ ] ,
1732
+ type : TypeNode | undefined
1733
+ ) : ConstructorTypeNode {
1734
+ return createConstructorTypeNode1 ( /*modifiers*/ undefined , typeParameters , parameters , type ) ;
1735
+ }
1736
+
1721
1737
// @api
1722
- function updateConstructorTypeNode (
1738
+ function updateConstructorTypeNode ( ...args : Parameters < typeof updateConstructorTypeNode1 | typeof updateConstructorTypeNode2 > ) {
1739
+ return args . length === 5 ? updateConstructorTypeNode1 ( ...args ) :
1740
+ args . length === 4 ? updateConstructorTypeNode2 ( ...args ) :
1741
+ Debug . fail ( "Incorrect number of arguments specified." ) ;
1742
+ }
1743
+
1744
+ function updateConstructorTypeNode1 (
1723
1745
node : ConstructorTypeNode ,
1746
+ modifiers : readonly Modifier [ ] | undefined ,
1724
1747
typeParameters : NodeArray < TypeParameterDeclaration > | undefined ,
1725
1748
parameters : NodeArray < ParameterDeclaration > ,
1726
1749
type : TypeNode | undefined
1727
1750
) {
1728
- return node . typeParameters !== typeParameters
1751
+ return node . modifiers !== modifiers
1752
+ || node . typeParameters !== typeParameters
1729
1753
|| node . parameters !== parameters
1730
1754
|| node . type !== type
1731
- ? updateBaseSignatureDeclaration ( createConstructorTypeNode ( typeParameters , parameters , type ) , node )
1755
+ ? updateBaseSignatureDeclaration ( createConstructorTypeNode ( modifiers , typeParameters , parameters , type ) , node )
1732
1756
: node ;
1733
1757
}
1734
1758
1759
+ /** @deprecated */
1760
+ function updateConstructorTypeNode2 (
1761
+ node : ConstructorTypeNode ,
1762
+ typeParameters : NodeArray < TypeParameterDeclaration > | undefined ,
1763
+ parameters : NodeArray < ParameterDeclaration > ,
1764
+ type : TypeNode | undefined
1765
+ ) {
1766
+ return updateConstructorTypeNode1 ( node , node . modifiers , typeParameters , parameters , type ) ;
1767
+ }
1768
+
1735
1769
// @api
1736
1770
function createTypeQueryNode ( exprName : EntityName ) {
1737
1771
const node = createBaseNode < TypeQueryNode > ( SyntaxKind . TypeQuery ) ;
0 commit comments