@@ -2153,49 +2153,46 @@ let rec ResolveExprLongIdentInModuleOrNamespace (ncenv:NameResolver) nenv (typeN
21532153match tyconSearch+++ moduleSearch+++ unionSearchwith
21542154| Result[] ->
21552155let suggestPossibleTypesAndNames () =
2156- match adwith
2157- | AccessibleFrom_ ->
2158- let types =
2159- modref.ModuleOrNamespaceType.AllEntities
2160- |> Seq.filter( fun e -> IsEntityAccessible ncenv.amap m ad( modref.NestedTyconRef e))
2161- |> Seq.map( fun e -> e.DisplayName)
2162- |> Set.ofSeq
2163-
2164- let submodules =
2165- mty.ModulesAndNamespacesByDemangledName
2166- |> Seq.filter( fun kv -> IsEntityAccessible ncenv.amap m ad( modref.NestedTyconRef kv.Value))
2167- |> Seq.map( fun e -> e.Value.DisplayName)
2168- |> Set.ofSeq
2156+ let types =
2157+ modref.ModuleOrNamespaceType.AllEntities
2158+ |> Seq.filter( fun e -> IsEntityAccessible ncenv.amap m ad( modref.NestedTyconRef e))
2159+ |> Seq.map( fun e -> e.DisplayName)
2160+ |> Set.ofSeq
2161+
2162+ let submodules =
2163+ mty.ModulesAndNamespacesByDemangledName
2164+ |> Seq.filter( fun kv -> IsEntityAccessible ncenv.amap m ad( modref.NestedTyconRef kv.Value))
2165+ |> Seq.map( fun e -> e.Value.DisplayName)
2166+ |> Set.ofSeq
21692167
2170- let unions =
2171- modref.ModuleOrNamespaceType.AllEntities
2172- |> Seq.collect( fun tycon ->
2173- let hasRequireQualifiedAccessAttribute = HasFSharpAttribute ncenv.g ncenv.g.attrib_ RequireQualifiedAccessAttribute tycon.Attribs
2174- if hasRequireQualifiedAccessAttributethen
2175- [||]
2176- else
2177- tycon.UnionCasesArray)
2178- |> Seq.map( fun uc -> uc.DisplayName)
2179- |> Set.ofSeq
2180-
2181- let vals =
2182- modref.ModuleOrNamespaceType.AllValsByLogicalName
2183- |> Seq.filter( fun e -> IsValAccessible ad( mkNestedValRef modref e.Value))
2184- |> Seq.map( fun e -> e.Value.DisplayName)
2185- |> Set.ofSeq
2168+ let unions =
2169+ modref.ModuleOrNamespaceType.AllEntities
2170+ |> Seq.collect( fun tycon ->
2171+ let hasRequireQualifiedAccessAttribute = HasFSharpAttribute ncenv.g ncenv.g.attrib_ RequireQualifiedAccessAttribute tycon.Attribs
2172+ if hasRequireQualifiedAccessAttributethen
2173+ [||]
2174+ else
2175+ tycon.UnionCasesArray)
2176+ |> Seq.map( fun uc -> uc.DisplayName)
2177+ |> Set.ofSeq
2178+
2179+ let vals =
2180+ modref.ModuleOrNamespaceType.AllValsByLogicalName
2181+ |> Seq.filter( fun e -> IsValAccessible ad( mkNestedValRef modref e.Value))
2182+ |> Seq.map( fun e -> e.Value.DisplayName)
2183+ |> Set.ofSeq
21862184
2187- let exns =
2188- modref.ModuleOrNamespaceType.ExceptionDefinitionsByDemangledName
2189- |> Seq.filter( fun e -> IsTyconReprAccessible ncenv.amap m ad( modref.NestedTyconRef e.Value))
2190- |> Seq.map( fun e -> e.Value.DisplayName)
2191- |> Set.ofSeq
2185+ let exns =
2186+ modref.ModuleOrNamespaceType.ExceptionDefinitionsByDemangledName
2187+ |> Seq.filter( fun e -> IsTyconReprAccessible ncenv.amap m ad( modref.NestedTyconRef e.Value))
2188+ |> Seq.map( fun e -> e.Value.DisplayName)
2189+ |> Set.ofSeq
21922190
2193- types
2194- |> Set.union submodules
2195- |> Set.union unions
2196- |> Set.union vals
2197- |> Set.union exns
2198- | _ -> Set.empty
2191+ types
2192+ |> Set.union submodules
2193+ |> Set.union unions
2194+ |> Set.union vals
2195+ |> Set.union exns
21992196
22002197 raze( UndefinedName( depth, FSComp.SR.undefinedNameValueConstructorNamespaceOrType, id, suggestPossibleTypesAndNames))
22012198| results-> AtMostOneResult id.idRange results
@@ -2298,6 +2295,7 @@ let rec ResolveExprLongIdentPrim sink (ncenv:NameResolver) fullyQualified m ad n
22982295
22992296let suggestedTypes =
23002297 nenv.TyconsByDemangledNameAndArity fullyQualified
2298+ |> Seq.filter( fun e -> IsEntityAccessible ncenv.amap m ad e.Value)
23012299|> Seq.map( fun e -> e.Value.DisplayName)
23022300|> Set.ofSeq
23032301
@@ -2415,6 +2413,7 @@ let rec ResolveExprLongIdentPrim sink (ncenv:NameResolver) fullyQualified m ad n
24152413
24162414let suggestedTypes =
24172415 nenv.TyconsByDemangledNameAndArity fullyQualified
2416+ |> Seq.filter( fun e -> IsEntityAccessible ncenv.amap m ad e.Value)
24182417|> Seq.map( fun e -> e.Value.DisplayName)
24192418|> Set.ofSeq
24202419
@@ -2522,21 +2521,19 @@ let rec ResolvePatternLongIdentInModuleOrNamespace (ncenv:NameResolver) nenv num
25222521match tyconSearch+++ ctorSearch+++ moduleSearchwith
25232522| Result[] ->
25242523let suggestPossibleTypes () =
2525- match adwith
2526- | AccessibleFrom_ ->
2527- let submodules =
2528- mty.ModulesAndNamespacesByDemangledName
2529- |> Seq.filter( fun kv -> IsEntityAccessible ncenv.amap m ad( modref.NestedTyconRef kv.Value))
2530- |> Seq.collect( fun e -> [ e.Value.DisplayName; e.Value.DemangledModuleOrNamespaceName])
2531- |> Set.ofSeq
2524+ let submodules =
2525+ mty.ModulesAndNamespacesByDemangledName
2526+ |> Seq.filter( fun kv -> IsEntityAccessible ncenv.amap m ad( modref.NestedTyconRef kv.Value))
2527+ |> Seq.collect( fun e -> [ e.Value.DisplayName; e.Value.DemangledModuleOrNamespaceName])
2528+ |> Set.ofSeq
25322529
2533- let suggestedTypes =
2534- nenv.TyconsByDemangledNameAndArity FullyQualifiedFlag.OpenQualified
2535- |> Seq.map( fun e -> e.Value.DisplayName)
2536- |> Set.ofSeq
2530+ let suggestedTypes =
2531+ nenv.TyconsByDemangledNameAndArity FullyQualifiedFlag.OpenQualified
2532+ |> Seq.filter( fun e -> IsEntityAccessible ncenv.amap m ad e.Value)
2533+ |> Seq.map( fun e -> e.Value.DisplayName)
2534+ |> Set.ofSeq
25372535
2538- Set.union submodules suggestedTypes
2539- | _ -> Set.empty
2536+ Set.union submodules suggestedTypes
25402537
25412538 raze( UndefinedName( depth, FSComp.SR.undefinedNameConstructorModuleOrNamespace, id, suggestPossibleTypes))
25422539| results-> AtMostOneResult id.idRange results
@@ -2677,13 +2674,10 @@ let ResolveTypeLongIdentInTyconRef sink (ncenv:NameResolver) nenv typeNameResInf
26772674/// Create an UndefinedName error with details
26782675let SuggestTypeLongIdentInModuleOrNamespace depth ( modref : ModuleOrNamespaceRef ) amap ad m ( id : Ident ) =
26792676let suggestPossibleTypes () =
2680- match adwith
2681- | AccessibleFrom_ ->
2682- modref.ModuleOrNamespaceType.AllEntities
2683- |> Seq.filter( fun e -> IsEntityAccessible amap m ad( modref.NestedTyconRef e))
2684- |> Seq.collect( fun e -> [ e.DisplayName; e.DemangledModuleOrNamespaceName])
2685- |> Set.ofSeq
2686- | _ -> Set.empty
2677+ modref.ModuleOrNamespaceType.AllEntities
2678+ |> Seq.filter( fun e -> IsEntityAccessible amap m ad( modref.NestedTyconRef e))
2679+ |> Seq.collect( fun e -> [ e.DisplayName; e.DemangledModuleOrNamespaceName])
2680+ |> Set.ofSeq
26872681
26882682let errorTextF s = FSComp.SR.undefinedNameTypeIn( s, fullDisplayTextOfModRef modref)
26892683 UndefinedName( depth, errorTextF, id, suggestPossibleTypes)
@@ -2707,13 +2701,10 @@ let rec private ResolveTypeLongIdentInModuleOrNamespace (ncenv:NameResolver) (ty
27072701 ResolveTypeLongIdentInModuleOrNamespace ncenv typeNameResInfo ad genOk resInfo( depth+ 1 ) m submodref submodref.ModuleOrNamespaceType rest
27082702| _ ->
27092703let suggestPossibleModules () =
2710- match adwith
2711- | AccessibleFrom_ ->
2712- modref.ModuleOrNamespaceType.ModulesAndNamespacesByDemangledName
2713- |> Seq.filter( fun kv -> IsEntityAccessible ncenv.amap m ad( modref.NestedTyconRef kv.Value))
2714- |> Seq.collect( fun e -> [ e.Value.DisplayName; e.Value.DemangledModuleOrNamespaceName])
2715- |> Set.ofSeq
2716- | _ -> Set.empty
2704+ modref.ModuleOrNamespaceType.ModulesAndNamespacesByDemangledName
2705+ |> Seq.filter( fun kv -> IsEntityAccessible ncenv.amap m ad( modref.NestedTyconRef kv.Value))
2706+ |> Seq.collect( fun e -> [ e.Value.DisplayName; e.Value.DemangledModuleOrNamespaceName])
2707+ |> Set.ofSeq
27172708 raze( UndefinedName( depth, FSComp.SR.undefinedNameNamespaceOrModule, id, suggestPossibleModules))
27182709
27192710let tyconSearch =
@@ -2757,21 +2748,18 @@ let rec ResolveTypeLongIdentPrim (ncenv:NameResolver) occurence fullyQualified m
27572748 success( ResolutionInfo.Empty, tcref)
27582749| [] ->
27592750let suggestPossibleTypes () =
2760- match adwith
2761- | AccessibleFrom_ ->
2762- nenv.TyconsByDemangledNameAndArity( fullyQualified)
2763- |> Seq.filter( fun kv -> IsEntityAccessible ncenv.amap m ad kv.Value)
2764- |> Seq.collect( fun e ->
2765- match occurencewith
2766- | ItemOccurence.UseInAttribute->
2767- [ yield e.Value.DisplayName
2768- yield e.Value.DemangledModuleOrNamespaceName
2769- if e.Value.DisplayName.EndsWith" Attribute" then
2770- yield e.Value.DisplayName.Replace( " Attribute" , " " )]
2771- | _ -> [ e.Value.DisplayName; e.Value.DemangledModuleOrNamespaceName])
2772- |> Set.ofSeq
2773- | _ -> Set.empty
2774-
2751+ nenv.TyconsByDemangledNameAndArity( fullyQualified)
2752+ |> Seq.filter( fun kv -> IsEntityAccessible ncenv.amap m ad kv.Value)
2753+ |> Seq.collect( fun e ->
2754+ match occurencewith
2755+ | ItemOccurence.UseInAttribute->
2756+ [ yield e.Value.DisplayName
2757+ yield e.Value.DemangledModuleOrNamespaceName
2758+ if e.Value.DisplayName.EndsWith" Attribute" then
2759+ yield e.Value.DisplayName.Replace( " Attribute" , " " )]
2760+ | _ -> [ e.Value.DisplayName; e.Value.DemangledModuleOrNamespaceName])
2761+ |> Set.ofSeq
2762+
27752763 raze( UndefinedName( 0 , FSComp.SR.undefinedNameType, id, suggestPossibleTypes))
27762764
27772765| id:: rest->