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

Commit39e74ee

Browse files
dsymeKevinRansom
authored andcommitted
Fix 5233 - PrivateScope mebmer access (dotnet#5250)
1 parente29cc67 commit39e74ee

File tree

6 files changed

+12
-1
lines changed

6 files changed

+12
-1
lines changed

‎src/absil/il.fs‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1228,6 +1228,7 @@ type ILMethodBody =
12281228
[<RequireQualifiedAccess>]
12291229
typeILMemberAccess=
12301230
| Assembly
1231+
| CompilerControlled
12311232
| FamilyAndAssembly
12321233
| FamilyOrAssembly
12331234
| Family
@@ -1546,14 +1547,15 @@ let memberAccessOfFlags flags =
15461547
elif f=0x00000002then ILMemberAccess.FamilyAndAssembly
15471548
elif f=0x00000005then ILMemberAccess.FamilyOrAssembly
15481549
elif f=0x00000003then ILMemberAccess.Assembly
1549-
elsefailwith"impossible: the flags parameter value is come from enums MethodAttributes and FieldAttributes must have access flag"
1550+
elseILMemberAccess.CompilerControlled
15501551

15511552
letconvertMemberAccess(ilMemberAccess:ILMemberAccess)=
15521553
match ilMemberAccesswith
15531554
| ILMemberAccess.Public-> MethodAttributes.Public
15541555
| ILMemberAccess.Private-> MethodAttributes.Private
15551556
| ILMemberAccess.Assembly-> MethodAttributes.Assembly
15561557
| ILMemberAccess.FamilyAndAssembly-> MethodAttributes.FamANDAssem
1558+
| ILMemberAccess.CompilerControlled-> MethodAttributes.PrivateScope
15571559
| ILMemberAccess.FamilyOrAssembly-> MethodAttributes.FamORAssem
15581560
| ILMemberAccess.Family-> MethodAttributes.Family
15591561

@@ -1805,6 +1807,7 @@ type ILPropertyDefs =
18051807
letconvertFieldAccess(ilMemberAccess:ILMemberAccess)=
18061808
match ilMemberAccesswith
18071809
| ILMemberAccess.Assembly-> FieldAttributes.Assembly
1810+
| ILMemberAccess.CompilerControlled->enum<FieldAttributes>(0)
18081811
| ILMemberAccess.FamilyAndAssembly-> FieldAttributes.FamANDAssem
18091812
| ILMemberAccess.FamilyOrAssembly-> FieldAttributes.FamORAssem
18101813
| ILMemberAccess.Family-> FieldAttributes.Family
@@ -1946,6 +1949,7 @@ let convertTypeAccessFlags access =
19461949
| ILTypeDefAccess.Nested ILMemberAccess.Public-> TypeAttributes.NestedPublic
19471950
| ILTypeDefAccess.Nested ILMemberAccess.Private-> TypeAttributes.NestedPrivate
19481951
| ILTypeDefAccess.Nested ILMemberAccess.Family-> TypeAttributes.NestedFamily
1952+
| ILTypeDefAccess.Nested ILMemberAccess.CompilerControlled-> TypeAttributes.NestedPrivate
19491953
| ILTypeDefAccess.Nested ILMemberAccess.FamilyAndAssembly-> TypeAttributes.NestedFamANDAssem
19501954
| ILTypeDefAccess.Nested ILMemberAccess.FamilyOrAssembly-> TypeAttributes.NestedFamORAssem
19511955
| ILTypeDefAccess.Nested ILMemberAccess.Assembly-> TypeAttributes.NestedAssembly
@@ -1973,6 +1977,7 @@ let convertEncoding encoding =
19731977
letconvertToNestedTypeAccess(ilMemberAccess:ILMemberAccess)=
19741978
match ilMemberAccesswith
19751979
| ILMemberAccess.Assembly-> TypeAttributes.NestedAssembly
1980+
| ILMemberAccess.CompilerControlled-> failwith"Method access compiler controlled."
19761981
| ILMemberAccess.FamilyAndAssembly-> TypeAttributes.NestedFamANDAssem
19771982
| ILMemberAccess.FamilyOrAssembly-> TypeAttributes.NestedFamORAssem
19781983
| ILMemberAccess.Family-> TypeAttributes.NestedFamily

‎src/absil/il.fsi‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -720,6 +720,7 @@ type ILMethodBody =
720720
[<RequireQualifiedAccess>]
721721
typeILMemberAccess=
722722
| Assembly
723+
| CompilerControlled
723724
| FamilyAndAssembly
724725
| FamilyOrAssembly
725726
| Family

‎src/absil/ilprint.fs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,7 @@ let output_member_access os access =
397397
| ILMemberAccess.Public->"public"
398398
| ILMemberAccess.Private->"private"
399399
| ILMemberAccess.Family->"family"
400+
| ILMemberAccess.CompilerControlled->"privatescope"
400401
| ILMemberAccess.FamilyAndAssembly->"famandassem"
401402
| ILMemberAccess.FamilyOrAssembly->"famorassem"
402403
| ILMemberAccess.Assembly->"assembly")

‎src/absil/ilreflect.fs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1724,6 +1724,7 @@ let typeAttrbutesOfTypeAccess x =
17241724
| ILTypeDefAccess.Nested macc->
17251725
match maccwith
17261726
| ILMemberAccess.Assembly-> TypeAttributes.NestedAssembly
1727+
| ILMemberAccess.CompilerControlled-> failwith"Nested compiler controled."
17271728
| ILMemberAccess.FamilyAndAssembly-> TypeAttributes.NestedFamANDAssem
17281729
| ILMemberAccess.FamilyOrAssembly-> TypeAttributes.NestedFamORAssem
17291730
| ILMemberAccess.Family-> TypeAttributes.NestedFamily

‎src/absil/ilwrite.fs‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,6 +1074,7 @@ let GetMemberAccessFlags access =
10741074
| ILMemberAccess.Public->0x00000006
10751075
| ILMemberAccess.Private->0x00000001
10761076
| ILMemberAccess.Family->0x00000004
1077+
| ILMemberAccess.CompilerControlled->0x00000000
10771078
| ILMemberAccess.FamilyAndAssembly->0x00000002
10781079
| ILMemberAccess.FamilyOrAssembly->0x00000005
10791080
| ILMemberAccess.Assembly->0x00000003
@@ -1085,6 +1086,7 @@ let GetTypeAccessFlags access =
10851086
| ILTypeDefAccess.Nested ILMemberAccess.Public->0x00000002
10861087
| ILTypeDefAccess.Nested ILMemberAccess.Private->0x00000003
10871088
| ILTypeDefAccess.Nested ILMemberAccess.Family->0x00000004
1089+
| ILTypeDefAccess.Nested ILMemberAccess.CompilerControlled-> failwith"bad type acccess"
10881090
| ILTypeDefAccess.Nested ILMemberAccess.FamilyAndAssembly->0x00000006
10891091
| ILTypeDefAccess.Nested ILMemberAccess.FamilyOrAssembly->0x00000007
10901092
| ILTypeDefAccess.Nested ILMemberAccess.Assembly->0x00000005

‎src/fsharp/symbols/Symbols.fs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ module Impl =
123123
/// Convert an IL member accessibility into an F# accessibility
124124
letgetApproxFSharpAccessibilityOfMember(declaringEntity:EntityRef)(ilAccess:ILMemberAccess)=
125125
match ilAccesswith
126+
| ILMemberAccess.CompilerControlled
126127
| ILMemberAccess.FamilyAndAssembly
127128
| ILMemberAccess.Assembly->
128129
taccessPrivate(CompPath(declaringEntity.CompilationPath.ILScopeRef,[]))

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp