Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
fsharp
提交
c0c1ca75
F
fsharp
项目概览
dotNET Platform
/
fsharp
12 个月 前同步成功
通知
0
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
fsharp
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c0c1ca75
编写于
6月 30, 2018
作者:
D
Don Syme
提交者:
Kevin Ransom
6月 30, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix 5233 - PrivateScope mebmer access (#5250)
上级
37213bb1
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
12 addition
and
1 deletion
+12
-1
src/absil/il.fs
src/absil/il.fs
+6
-1
src/absil/il.fsi
src/absil/il.fsi
+1
-0
src/absil/ilprint.fs
src/absil/ilprint.fs
+1
-0
src/absil/ilreflect.fs
src/absil/ilreflect.fs
+1
-0
src/absil/ilwrite.fs
src/absil/ilwrite.fs
+2
-0
src/fsharp/symbols/Symbols.fs
src/fsharp/symbols/Symbols.fs
+1
-0
未找到文件。
src/absil/il.fs
浏览文件 @
c0c1ca75
...
...
@@ -1229,6 +1229,7 @@ type ILMethodBody =
[<
RequireQualifiedAccess
>]
type
ILMemberAccess
=
|
Assembly
|
CompilerControlled
|
FamilyAndAssembly
|
FamilyOrAssembly
|
Family
...
...
@@ -1547,7 +1548,7 @@ let memberAccessOfFlags flags =
elif
f
=
0x00000002
then
ILMemberAccess
.
FamilyAndAssembly
elif
f
=
0x00000005
then
ILMemberAccess
.
FamilyOrAssembly
elif
f
=
0x00000003
then
ILMemberAccess
.
Assembly
else
failwith
"impossible: the flags parameter value is come from enums MethodAttributes and FieldAttributes must have access flag"
else
ILMemberAccess
.
CompilerControlled
let
convertMemberAccess
(
ilMemberAccess
:
ILMemberAccess
)
=
match
ilMemberAccess
with
...
...
@@ -1555,6 +1556,7 @@ let convertMemberAccess (ilMemberAccess:ILMemberAccess) =
|
ILMemberAccess
.
Private
->
MethodAttributes
.
Private
|
ILMemberAccess
.
Assembly
->
MethodAttributes
.
Assembly
|
ILMemberAccess
.
FamilyAndAssembly
->
MethodAttributes
.
FamANDAssem
|
ILMemberAccess
.
CompilerControlled
->
MethodAttributes
.
PrivateScope
|
ILMemberAccess
.
FamilyOrAssembly
->
MethodAttributes
.
FamORAssem
|
ILMemberAccess
.
Family
->
MethodAttributes
.
Family
...
...
@@ -1806,6 +1808,7 @@ type ILPropertyDefs =
let
convertFieldAccess
(
ilMemberAccess
:
ILMemberAccess
)
=
match
ilMemberAccess
with
|
ILMemberAccess
.
Assembly
->
FieldAttributes
.
Assembly
|
ILMemberAccess
.
CompilerControlled
->
enum
<
FieldAttributes
>(
0
)
|
ILMemberAccess
.
FamilyAndAssembly
->
FieldAttributes
.
FamANDAssem
|
ILMemberAccess
.
FamilyOrAssembly
->
FieldAttributes
.
FamORAssem
|
ILMemberAccess
.
Family
->
FieldAttributes
.
Family
...
...
@@ -1947,6 +1950,7 @@ let convertTypeAccessFlags access =
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
Public
->
TypeAttributes
.
NestedPublic
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
Private
->
TypeAttributes
.
NestedPrivate
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
Family
->
TypeAttributes
.
NestedFamily
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
CompilerControlled
->
TypeAttributes
.
NestedPrivate
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
FamilyAndAssembly
->
TypeAttributes
.
NestedFamANDAssem
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
FamilyOrAssembly
->
TypeAttributes
.
NestedFamORAssem
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
Assembly
->
TypeAttributes
.
NestedAssembly
...
...
@@ -1974,6 +1978,7 @@ let convertEncoding encoding =
let
convertToNestedTypeAccess
(
ilMemberAccess
:
ILMemberAccess
)
=
match
ilMemberAccess
with
|
ILMemberAccess
.
Assembly
->
TypeAttributes
.
NestedAssembly
|
ILMemberAccess
.
CompilerControlled
->
failwith
"Method access compiler controlled."
|
ILMemberAccess
.
FamilyAndAssembly
->
TypeAttributes
.
NestedFamANDAssem
|
ILMemberAccess
.
FamilyOrAssembly
->
TypeAttributes
.
NestedFamORAssem
|
ILMemberAccess
.
Family
->
TypeAttributes
.
NestedFamily
...
...
src/absil/il.fsi
浏览文件 @
c0c1ca75
...
...
@@ -720,6 +720,7 @@ type ILMethodBody =
[<
RequireQualifiedAccess
>]
type
ILMemberAccess
=
|
Assembly
|
CompilerControlled
|
FamilyAndAssembly
|
FamilyOrAssembly
|
Family
...
...
src/absil/ilprint.fs
浏览文件 @
c0c1ca75
...
...
@@ -397,6 +397,7 @@ let output_member_access os access =
|
ILMemberAccess
.
Public
->
"public"
|
ILMemberAccess
.
Private
->
"private"
|
ILMemberAccess
.
Family
->
"family"
|
ILMemberAccess
.
CompilerControlled
->
"privatescope"
|
ILMemberAccess
.
FamilyAndAssembly
->
"famandassem"
|
ILMemberAccess
.
FamilyOrAssembly
->
"famorassem"
|
ILMemberAccess
.
Assembly
->
"assembly"
)
...
...
src/absil/ilreflect.fs
浏览文件 @
c0c1ca75
...
...
@@ -1724,6 +1724,7 @@ let typeAttrbutesOfTypeAccess x =
|
ILTypeDefAccess
.
Nested
macc
->
match
macc
with
|
ILMemberAccess
.
Assembly
->
TypeAttributes
.
NestedAssembly
|
ILMemberAccess
.
CompilerControlled
->
failwith
"Nested compiler controled."
|
ILMemberAccess
.
FamilyAndAssembly
->
TypeAttributes
.
NestedFamANDAssem
|
ILMemberAccess
.
FamilyOrAssembly
->
TypeAttributes
.
NestedFamORAssem
|
ILMemberAccess
.
Family
->
TypeAttributes
.
NestedFamily
...
...
src/absil/ilwrite.fs
浏览文件 @
c0c1ca75
...
...
@@ -1074,6 +1074,7 @@ let GetMemberAccessFlags access =
|
ILMemberAccess
.
Public
->
0x00000006
|
ILMemberAccess
.
Private
->
0x00000001
|
ILMemberAccess
.
Family
->
0x00000004
|
ILMemberAccess
.
CompilerControlled
->
0x00000000
|
ILMemberAccess
.
FamilyAndAssembly
->
0x00000002
|
ILMemberAccess
.
FamilyOrAssembly
->
0x00000005
|
ILMemberAccess
.
Assembly
->
0x00000003
...
...
@@ -1085,6 +1086,7 @@ let GetTypeAccessFlags access =
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
Public
->
0x00000002
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
Private
->
0x00000003
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
Family
->
0x00000004
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
CompilerControlled
->
failwith
"bad type acccess"
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
FamilyAndAssembly
->
0x00000006
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
FamilyOrAssembly
->
0x00000007
|
ILTypeDefAccess
.
Nested
ILMemberAccess
.
Assembly
->
0x00000005
...
...
src/fsharp/symbols/Symbols.fs
浏览文件 @
c0c1ca75
...
...
@@ -123,6 +123,7 @@ module Impl =
/// Convert an IL member accessibility into an F# accessibility
let
getApproxFSharpAccessibilityOfMember
(
declaringEntity
:
EntityRef
)
(
ilAccess
:
ILMemberAccess
)
=
match
ilAccess
with
|
ILMemberAccess
.
CompilerControlled
|
ILMemberAccess
.
FamilyAndAssembly
|
ILMemberAccess
.
Assembly
->
taccessPrivate
(
CompPath
(
declaringEntity
.
CompilationPath
.
ILScopeRef
,
[]
))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录