@@ -1100,7 +1100,8 @@ and FSharpMemberOrFunctionOrValue(cenv, d:FSharpMemberOrValData, item) =
11001100 let rty = m.GetFSharpReturnTy( cenv.amap, range0, m.FormalMethodInst)
11011101 let argtysl = m.GetParamTypes( cenv.amap, range0, m.FormalMethodInst)
11021102 mkIteratedFunTy ( List.map ( mkTupledTy cenv.g) argtysl) rty
1103- | V v -> v.TauType
1103+ | V v -> let _ , typ , _ = PrettyTypes.PrettifyTypes1 cenv.g v.TauType
1104+ typ
11041105 FSharpType( cenv, ty)
11051106
11061107 member __.HasGetterMethod =
@@ -1421,17 +1422,25 @@ and FSharpMemberOrFunctionOrValue(cenv, d:FSharpMemberOrValData, item) =
14211422 [ [ for ( ParamData( isParamArrayArg, isOutArg, optArgInfo, nmOpt,_ reflArgInfo, pty)) in p.GetParamDatas( cenv.amap, range0) do
14221423 // INCOMPLETENESS: Attribs is empty here, so we can't look at attributes for
14231424 // either .NET or F# parameters
1425+ let _ , prettyTyp , _cxs = PrettyTypes.PrettifyTypes1 cenv.g pty
14241426 let argInfo : ArgReprInfo = { Name= nmOpt; Attribs= [] }
1425- yield FSharpParameter( cenv, pty , argInfo, x.DeclarationLocationOpt, isParamArrayArg, isOutArg, optArgInfo.IsOptional) ]
1427+ yield FSharpParameter( cenv, prettyTyp , argInfo, x.DeclarationLocationOpt, isParamArrayArg, isOutArg, optArgInfo.IsOptional) ]
14261428 |> makeReadOnlyCollection ]
14271429 |> makeReadOnlyCollection
14281430
14291431 | E _ -> [] |> makeReadOnlyCollection
14301432 | M m ->
14311433
14321434 [ for argtys in m.GetParamDatas( cenv.amap, range0, m.FormalMethodInst) do
1433- yield
1434- [ for ( ParamData( isParamArrayArg, isOutArg, optArgInfo, nmOpt,_ reflArgInfo, pty)) in argtys do
1435+ let _ , prettyTyps , _cxs =
1436+ argtys
1437+ |> List.map ( function ParamData( isParamArrayArg, isOutArg, optArgInfo, nmOpt,_ reflArgInfo, pty) -> pty)
1438+ |> PrettyTypes.PrettifyTypesN cenv.g
1439+ let combined =
1440+ List.map2 ( fun pty ( ParamData ( isParamArrayArg , isOutArg , optArgInfo , nmOpt , reflArgInfo , _pty )) ->
1441+ isParamArrayArg, isOutArg, optArgInfo, nmOpt, reflArgInfo, pty) prettyTyps argtys
1442+ yield
1443+ [ for ( isParamArrayArg, isOutArg, optArgInfo, nmOpt,_ reflArgInfo, pty) in combined do
14351444 // INCOMPLETENESS: Attribs is empty here, so we can't look at attributes for
14361445 // either .NET or F# parameters
14371446 let argInfo : ArgReprInfo = { Name= nmOpt; Attribs= [] }
@@ -1450,8 +1459,9 @@ and FSharpMemberOrFunctionOrValue(cenv, d:FSharpMemberOrValData, item) =
14501459 if isTupleTy cenv.g typ
14511460 then tryDestTupleTy cenv.g typ
14521461 else [ typ]
1462+ let _ , prettyTyps , _cxs = allArguments |> PrettyTypes.PrettifyTypesN cenv.g
14531463 yield
1454- allArguments
1464+ prettyTyps
14551465 |> List.map ( fun arg -> FSharpParameter( cenv, arg, { Name= None; Attribs= [] }, x.DeclarationLocationOpt, false , false , false ))
14561466 |> makeReadOnlyCollection ]
14571467 |> makeReadOnlyCollection
@@ -1460,8 +1470,8 @@ and FSharpMemberOrFunctionOrValue(cenv, d:FSharpMemberOrValData, item) =
14601470 let tau = v.TauType
14611471 let argtysl , _ = GetTopTauTypeInFSharpForm cenv.g curriedArgInfos tau range0
14621472 let argtysl = if v.IsInstanceMember then argtysl.Tail else argtysl
1463-
1464- [ for argtys in argtysl do
1473+ let prettyArgtysl = argtysl |> List.map ( fun a -> PrettyTypes.PrettifyTypesN1 cenv.g ( a , tau ))
1474+ [ for (_, ( argtys,_),_ cxs ) in prettyArgtysl do
14651475 yield
14661476 [ for argty, argInfo in argtys do
14671477 let isParamArrayArg = HasFSharpAttribute cenv.g cenv.g.attrib_ ParamArrayAttribute argInfo.Attribs
@@ -1490,27 +1500,32 @@ and FSharpMemberOrFunctionOrValue(cenv, d:FSharpMemberOrValData, item) =
14901500 // INCOMPLETENESS: Attribs is empty here, so we can't look at return attributes for .NET or F# methods
14911501 let retInfo : ArgReprInfo = { Name= None; Attribs= [] }
14921502 let rty = p.GetPropertyType( cenv.amap, range0)
1503+ let _ , rty , _cxs = PrettyTypes.PrettifyTypes1 cenv.g rty
14931504 FSharpParameter( cenv, rty, retInfo, x.DeclarationLocationOpt, isParamArrayArg= false , isOutArg= false , isOptionalArg= false )
14941505 | M m ->
14951506 // INCOMPLETENESS: Attribs is empty here, so we can't look at return attributes for .NET or F# methods
14961507 let retInfo : ArgReprInfo = { Name= None; Attribs= [] }
14971508 let rty = m.GetFSharpReturnTy( cenv.amap, range0, m.FormalMethodInst)
1509+ let _ , rty , _cxs = PrettyTypes.PrettifyTypes1 cenv.g rty
14981510 FSharpParameter( cenv, rty, retInfo, x.DeclarationLocationOpt, isParamArrayArg= false , isOutArg= false , isOptionalArg= false )
14991511 | V v ->
15001512 match v.ValReprInfo with
15011513 | None ->
15021514 let _ , tau = v.TypeScheme
15031515 if isFunTy cenv.g tau then
1504- let _typeArguments , rty = stripFunTy cenv.g tau
1505- FSharpParameter( cenv, rty, { Name= None; Attribs= [] }, x.DeclarationLocationOpt, isParamArrayArg= false , isOutArg= false , isOptionalArg= false )
1516+ let typeArguments , rty = stripFunTy cenv.g tau
1517+ let empty : ArgReprInfo = { Name= None; Attribs= [] }
1518+ let uncurriedArgInfos = typeArguments |> List.map ( fun t -> ( t, empty ) )
1519+ let _ , ( _argtys , rty ), _csx = PrettyTypes.PrettifyTypesN1 cenv.g ( uncurriedArgInfos, rty)
1520+ FSharpParameter( cenv, rty, empty, x.DeclarationLocationOpt, isParamArrayArg= false , isOutArg= false , isOptionalArg= false )
15061521 else
15071522 failwith " not a module let binding or member"
1508- | Some ( ValReprInfo(_ typars , argInfos, retInfo)) ->
1523+ | Some ( ValReprInfo( typars , argInfos, retInfo)) ->
15091524
15101525 let tau = v.TauType
1511- let _ , rty = GetTopTauTypeInFSharpForm cenv.g argInfos tau range0
1512-
1513- FSharpParameter( cenv, rty , retInfo, x.DeclarationLocationOpt, isParamArrayArg= false , isOutArg= false , isOptionalArg= false )
1526+ let c , rty = GetTopTauTypeInFSharpForm cenv.g argInfos tau range0
1527+ let ( typar , ( _types , _ , prettyReturn ), _cxs ) = PrettyTypes.PrettifyTypesNM1 cenv.g ([ tau ], c , rty )
1528+ FSharpParameter( cenv, prettyReturn , retInfo, x.DeclarationLocationOpt, isParamArrayArg= false , isOutArg= false , isOptionalArg= false )
15141529
15151530
15161531 member __.Attributes =
@@ -1746,6 +1761,8 @@ and FSharpType(cenv, typ:TType) =
17461761 protect <| fun () ->
17471762 " type " + NicePrint.stringOfTy ( DisplayEnv.Empty( cenv.g)) typ
17481763
1764+
1765+
17491766and FSharpAttribute ( cenv : cenv , attrib : AttribInfo ) =
17501767
17511768 let rec resolveArgObj ( arg : obj ) =
0 commit comments