Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3060db7

Browse files
forkiKevinRansom
authored andcommitted
We can save a couple of lookups (dotnet#2197)
1 parent6b4d0a4 commit3060db7

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

‎src/fsharp/NameResolution.fs‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2460,12 +2460,15 @@ let rec ResolvePatternLongIdentInModuleOrNamespace (ncenv:NameResolver) nenv num
24602460
| Some vspecwhen IsValAccessible ad(mkNestedValRef modref vspec)->
24612461
success(resInfo,Item.Value(mkNestedValRef modref vspec),rest)
24622462
|_->
2463+
lettcrefs=lazy(
2464+
LookupTypeNameInEntityMaybeHaveArity(ncenv.amap, id.idRange, ad, id.idText, TypeNameResolutionStaticArgsInfo.Indefinite, modref)
2465+
|> List.map(fun tcref->(resInfo,tcref)))
2466+
24632467
// Something in a type? e.g. a literal field
2464-
lettcrefs= LookupTypeNameInEntityMaybeHaveArity(ncenv.amap, id.idRange, ad, id.idText, TypeNameResolutionStaticArgsInfo.Indefinite, modref)
2465-
lettcrefs= tcrefs|> List.map(fun tcref->(resInfo,tcref))
24662468
lettyconSearch=
24672469
match lidwith
2468-
|_tn:: restwhennot(isNil rest)->
2470+
|_:: restwhennot(isNil rest)->
2471+
lettcrefs= tcrefs.Force()
24692472
ResolveLongIdentInTyconRefs ResultCollectionSettings.AtMostOneResult(ncenv:NameResolver) nenv LookupKind.Pattern(depth+1) m ad rest numTyArgsOpt id.idRange tcrefs
24702473
|_->
24712474
NoResultsOrUsefulErrors
@@ -2476,8 +2479,8 @@ let rec ResolvePatternLongIdentInModuleOrNamespace (ncenv:NameResolver) nenv num
24762479

24772480
// Constructor of a type?
24782481
letctorSearch=
2479-
if isNil restthen
2480-
tcrefs
2482+
if isNil restthen
2483+
tcrefs.Force()
24812484
|> List.map(fun(resInfo,tcref)->(resInfo,FreshenTycon ncenv m tcref))
24822485
|> CollectAtMostOneResult(fun(resInfo,typ)-> ResolveObjectConstructorPrim ncenv nenv.eDisplayEnv resInfo id.idRange ad typ)
24832486
|> MapResults(fun(resInfo,item)->(resInfo,item,[]))

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp