@@ -1078,19 +1078,25 @@ module Emit =
10781078 let emitConstructorSigFromJson ( c : InputJsonType.Root ) =
10791079 c.Signatures |> Array.iter ( Pt.Printl " %s ;" )
10801080
1081+ let emitConstructorSingleSignature ( ctor : Browser.Constructor ) =
1082+ for { ParamCombinations = pCombList } in GetOverloads ( Ctor ctor) false do
1083+ let paramsString = ParamsToString pCombList
1084+ Pt.Printl " new(%s ): %s ;" paramsString i.Name
1085+
10811086 let removedCtor = getRemovedItems ItemKind.Constructor Flavor.All |> Array.tryFind ( matchInterface i.Name)
10821087 if Option.isNone removedCtor then
10831088 let overriddenCtor = getOverriddenItems ItemKind.Constructor Flavor.All |> Array.tryFind ( matchInterface i.Name)
10841089 match overriddenCtor with
10851090 | Some c' -> emitConstructorSigFromJson c'
10861091 | _ ->
10871092 //Emit constructor signature
1088- match i.Constructor with
1089- | Some ctor ->
1090- for { ParamCombinations = pCombList } in GetOverloads ( Ctor ctor) false do
1091- let paramsString = ParamsToString pCombList
1092- Pt.Printl " new(%s ): %s ;" paramsString i.Name
1093- | _ -> Pt.Printl " new(): %s ;" i.Name
1093+ match i.Constructors with
1094+ | Some ctors ->
1095+ i.Constructors.Value.Constructors |> Array.iter emitConstructorSingleSignature
1096+ | _ ->
1097+ match i.Constructor with
1098+ | Some ctor -> emitConstructorSingleSignature ctor
1099+ | _ -> Pt.Printl " new(): %s ;" i.Name
10941100
10951101 getAddedItems ItemKind.Constructor Flavor.All
10961102 |> Array.filter ( matchInterface i.Name)
0 commit comments