@@ -1197,7 +1197,8 @@ and FSharpMemberOrFunctionOrValue(cenv, d:FSharpMemberOrValData, item) =
11971197 let rty = m.GetFSharpReturnTy( cenv.amap, range0, m.FormalMethodInst)
11981198 let argtysl = m.GetParamTypes( cenv.amap, range0, m.FormalMethodInst)
11991199 mkIteratedFunTy ( List.map ( mkTupledTy cenv.g) argtysl) rty
1200- | V v -> v.TauType
1200+ | V v -> let _ , typ , _ = PrettyTypes.PrettifyTypes1 cenv.g v.TauType
1201+ typ
12011202 FSharpType( cenv, ty)
12021203
12031204 member __.HasGetterMethod =
@@ -1532,17 +1533,25 @@ and FSharpMemberOrFunctionOrValue(cenv, d:FSharpMemberOrValData, item) =
15321533 [ [ for ( ParamData( isParamArrayArg, isOutArg, optArgInfo, nmOpt,_ reflArgInfo, pty)) in p.GetParamDatas( cenv.amap, range0) do
15331534 // INCOMPLETENESS: Attribs is empty here, so we can't look at attributes for
15341535 // either .NET or F# parameters
1536+ let _ , prettyTyp , _cxs = PrettyTypes.PrettifyTypes1 cenv.g pty
15351537 let argInfo : ArgReprInfo = { Name= nmOpt; Attribs= [] }
1536- yield FSharpParameter( cenv, pty , argInfo, x.DeclarationLocationOpt, isParamArrayArg, isOutArg, optArgInfo.IsOptional) ]
1538+ yield FSharpParameter( cenv, prettyTyp , argInfo, x.DeclarationLocationOpt, isParamArrayArg, isOutArg, optArgInfo.IsOptional) ]
15371539 |> makeReadOnlyCollection ]
15381540 |> makeReadOnlyCollection
15391541
15401542 | E _ -> [] |> makeReadOnlyCollection
15411543 | M m ->
15421544
15431545 [ for argtys in m.GetParamDatas( cenv.amap, range0, m.FormalMethodInst) do
1544- yield
1545- [ for ( ParamData( isParamArrayArg, isOutArg, optArgInfo, nmOpt,_ reflArgInfo, pty)) in argtys do
1546+ let _ , prettyTyps , _cxs =
1547+ argtys
1548+ |> List.map ( function ParamData( isParamArrayArg, isOutArg, optArgInfo, nmOpt,_ reflArgInfo, pty) -> pty)
1549+ |> PrettyTypes.PrettifyTypesN cenv.g
1550+ let combined =
1551+ List.map2 ( fun pty ( ParamData ( isParamArrayArg , isOutArg , optArgInfo , nmOpt , reflArgInfo , _pty )) ->
1552+ isParamArrayArg, isOutArg, optArgInfo, nmOpt, reflArgInfo, pty) prettyTyps argtys
1553+ yield
1554+ [ for ( isParamArrayArg, isOutArg, optArgInfo, nmOpt,_ reflArgInfo, pty) in combined do
15461555 // INCOMPLETENESS: Attribs is empty here, so we can't look at attributes for
15471556 // either .NET or F# parameters
15481557 let argInfo : ArgReprInfo = { Name= nmOpt; Attribs= [] }
@@ -1561,8 +1570,9 @@ and FSharpMemberOrFunctionOrValue(cenv, d:FSharpMemberOrValData, item) =
15611570 if isTupleTy cenv.g typ
15621571 then tryDestTupleTy cenv.g typ
15631572 else [ typ]
1573+ let _ , prettyTyps , _cxs = allArguments |> PrettyTypes.PrettifyTypesN cenv.g
15641574 yield
1565- allArguments
1575+ prettyTyps
15661576 |> List.map ( fun arg -> FSharpParameter( cenv, arg, { Name= None; Attribs= [] }, x.DeclarationLocationOpt, false , false , false ))
15671577 |> makeReadOnlyCollection ]
15681578 |> makeReadOnlyCollection
@@ -1571,8 +1581,8 @@ and FSharpMemberOrFunctionOrValue(cenv, d:FSharpMemberOrValData, item) =
15711581 let tau = v.TauType
15721582 let argtysl , _ = GetTopTauTypeInFSharpForm cenv.g curriedArgInfos tau range0
15731583 let argtysl = if v.IsInstanceMember then argtysl.Tail else argtysl
1574-
1575- [ for argtys in argtysl do
1584+ let prettyArgtysl = argtysl |> List.map ( fun a -> PrettyTypes.PrettifyTypesN1 cenv.g ( a , tau ))
1585+ [ for (_, ( argtys,_),_ cxs ) in prettyArgtysl do
15761586 yield
15771587 [ for argty, argInfo in argtys do
15781588 let isParamArrayArg = HasFSharpAttribute cenv.g cenv.g.attrib_ ParamArrayAttribute argInfo.Attribs
@@ -1601,27 +1611,32 @@ and FSharpMemberOrFunctionOrValue(cenv, d:FSharpMemberOrValData, item) =
16011611 // INCOMPLETENESS: Attribs is empty here, so we can't look at return attributes for .NET or F# methods
16021612 let retInfo : ArgReprInfo = { Name= None; Attribs= [] }
16031613 let rty = p.GetPropertyType( cenv.amap, range0)
1614+ let _ , rty , _cxs = PrettyTypes.PrettifyTypes1 cenv.g rty
16041615 FSharpParameter( cenv, rty, retInfo, x.DeclarationLocationOpt, isParamArrayArg= false , isOutArg= false , isOptionalArg= false )
16051616 | M m ->
16061617 // INCOMPLETENESS: Attribs is empty here, so we can't look at return attributes for .NET or F# methods
16071618 let retInfo : ArgReprInfo = { Name= None; Attribs= [] }
16081619 let rty = m.GetFSharpReturnTy( cenv.amap, range0, m.FormalMethodInst)
1620+ let _ , rty , _cxs = PrettyTypes.PrettifyTypes1 cenv.g rty
16091621 FSharpParameter( cenv, rty, retInfo, x.DeclarationLocationOpt, isParamArrayArg= false , isOutArg= false , isOptionalArg= false )
16101622 | V v ->
16111623 match v.ValReprInfo with
16121624 | None ->
16131625 let _ , tau = v.TypeScheme
16141626 if isFunTy cenv.g tau then
1615- let _typeArguments , rty = stripFunTy cenv.g tau
1616- FSharpParameter( cenv, rty, { Name= None; Attribs= [] }, x.DeclarationLocationOpt, isParamArrayArg= false , isOutArg= false , isOptionalArg= false )
1627+ let typeArguments , rty = stripFunTy cenv.g tau
1628+ let empty : ArgReprInfo = { Name= None; Attribs= [] }
1629+ let uncurriedArgInfos = typeArguments |> List.map ( fun t -> ( t, empty ) )
1630+ let _ , ( _argtys , rty ), _csx = PrettyTypes.PrettifyTypesN1 cenv.g ( uncurriedArgInfos, rty)
1631+ FSharpParameter( cenv, rty, empty, x.DeclarationLocationOpt, isParamArrayArg= false , isOutArg= false , isOptionalArg= false )
16171632 else
16181633 failwith " not a module let binding or member"
1619- | Some ( ValReprInfo(_ typars , argInfos, retInfo)) ->
1634+ | Some ( ValReprInfo( typars , argInfos, retInfo)) ->
16201635
16211636 let tau = v.TauType
1622- let _ , rty = GetTopTauTypeInFSharpForm cenv.g argInfos tau range0
1623-
1624- FSharpParameter( cenv, rty , retInfo, x.DeclarationLocationOpt, isParamArrayArg= false , isOutArg= false , isOptionalArg= false )
1637+ let c , rty = GetTopTauTypeInFSharpForm cenv.g argInfos tau range0
1638+ let ( typar , ( _types , _ , prettyReturn ), _cxs ) = PrettyTypes.PrettifyTypesNM1 cenv.g ([ tau ], c , rty )
1639+ FSharpParameter( cenv, prettyReturn , retInfo, x.DeclarationLocationOpt, isParamArrayArg= false , isOutArg= false , isOptionalArg= false )
16251640
16261641
16271642 member __.Attributes =
0 commit comments