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

Commitc0c1ca7

Browse files
dsymeKevinRansom
authored andcommitted
Fix 5233 - PrivateScope mebmer access (#5250)
1 parent37213bb commitc0c1ca7

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
@@ -1229,6 +1229,7 @@ type ILMethodBody =
12291229
[<RequireQualifiedAccess>]
12301230
typeILMemberAccess=
12311231
| Assembly
1232+
| CompilerControlled
12321233
| FamilyAndAssembly
12331234
| FamilyOrAssembly
12341235
| Family
@@ -1547,14 +1548,15 @@ let memberAccessOfFlags flags =
15471548
elif f=0x00000002then ILMemberAccess.FamilyAndAssembly
15481549
elif f=0x00000005then ILMemberAccess.FamilyOrAssembly
15491550
elif f=0x00000003then ILMemberAccess.Assembly
1550-
elsefailwith"impossible: the flags parameter value is come from enums MethodAttributes and FieldAttributes must have access flag"
1551+
elseILMemberAccess.CompilerControlled
15511552

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

@@ -1806,6 +1808,7 @@ type ILPropertyDefs =
18061808
letconvertFieldAccess(ilMemberAccess:ILMemberAccess)=
18071809
match ilMemberAccesswith
18081810
| ILMemberAccess.Assembly-> FieldAttributes.Assembly
1811+
| ILMemberAccess.CompilerControlled->enum<FieldAttributes>(0)
18091812
| ILMemberAccess.FamilyAndAssembly-> FieldAttributes.FamANDAssem
18101813
| ILMemberAccess.FamilyOrAssembly-> FieldAttributes.FamORAssem
18111814
| ILMemberAccess.Family-> FieldAttributes.Family
@@ -1947,6 +1950,7 @@ let convertTypeAccessFlags access =
19471950
| ILTypeDefAccess.Nested ILMemberAccess.Public-> TypeAttributes.NestedPublic
19481951
| ILTypeDefAccess.Nested ILMemberAccess.Private-> TypeAttributes.NestedPrivate
19491952
| ILTypeDefAccess.Nested ILMemberAccess.Family-> TypeAttributes.NestedFamily
1953+
| ILTypeDefAccess.Nested ILMemberAccess.CompilerControlled-> TypeAttributes.NestedPrivate
19501954
| ILTypeDefAccess.Nested ILMemberAccess.FamilyAndAssembly-> TypeAttributes.NestedFamANDAssem
19511955
| ILTypeDefAccess.Nested ILMemberAccess.FamilyOrAssembly-> TypeAttributes.NestedFamORAssem
19521956
| ILTypeDefAccess.Nested ILMemberAccess.Assembly-> TypeAttributes.NestedAssembly
@@ -1974,6 +1978,7 @@ let convertEncoding encoding =
19741978
letconvertToNestedTypeAccess(ilMemberAccess:ILMemberAccess)=
19751979
match ilMemberAccesswith
19761980
| ILMemberAccess.Assembly-> TypeAttributes.NestedAssembly
1981+
| ILMemberAccess.CompilerControlled-> failwith"Method access compiler controlled."
19771982
| ILMemberAccess.FamilyAndAssembly-> TypeAttributes.NestedFamANDAssem
19781983
| ILMemberAccess.FamilyOrAssembly-> TypeAttributes.NestedFamORAssem
19791984
| 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