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

Commit29a3bdd

Browse files
forkidsyme
authored andcommitted
Faster check if IsExtensionMember (dotnet#4458)
* Faster check if IsExtensionMember* Faster check if IsExtensionMember
1 parent970c0fe commit29a3bdd

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

‎src/fsharp/infos.fs‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1177,16 +1177,22 @@ type MethInfo =
11771177
|_-> failwith"not supported"
11781178

11791179
/// Indicates if this is an extension member.
1180-
memberx.IsExtensionMember= x.IsCSharpStyleExtensionMember|| x.IsFSharpStyleExtensionMember
1180+
memberx.IsExtensionMember=
1181+
match xwith
1182+
| FSMeth(_,_,vref,pri)-> pri.IsSome|| vref.IsExtensionMember
1183+
| ILMeth(_,_,Some_)->true
1184+
|_->false
11811185

11821186
/// Indicates if this is an F# extension member.
11831187
memberx.IsFSharpStyleExtensionMember=
11841188
match xwith FSMeth(_,_,vref,_)-> vref.IsExtensionMember|_->false
11851189

11861190
/// Indicates if this is an C#-style extension member.
11871191
memberx.IsCSharpStyleExtensionMember=
1188-
x.ExtensionMemberPriorityOption.IsSome&&
1189-
(match xwith ILMeth_->true| FSMeth(_,_,vref,_)->not vref.IsExtensionMember|_->false)
1192+
match xwith
1193+
| FSMeth(_,_,vref,Some_)->not vref.IsExtensionMember
1194+
| ILMeth(_,_,Some_)->true
1195+
|_->false
11901196

11911197
/// Add the actual type instantiation of the apparent type of an F# extension method.
11921198
//

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp