Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
fsharp
提交
7aa3d99c
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,发现更多精彩内容 >>
未验证
提交
7aa3d99c
编写于
10月 11, 2018
作者:
D
dotnet-automerge-bot
提交者:
GitHub
10月 11, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #5769 from Microsoft/merges/master-to-dev16.0
Merge master to dev16.0
上级
e801b65a
e42cea2d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
22 addition
and
15 deletion
+22
-15
src/fsharp/IlxGen.fs
src/fsharp/IlxGen.fs
+22
-15
vsintegration/tests/UnitTests/SemanticColorizationServiceTests.fs
...ation/tests/UnitTests/SemanticColorizationServiceTests.fs
+0
-0
vsintegration/tests/UnitTests/SyntacticColorizationServiceTests.fs
...tion/tests/UnitTests/SyntacticColorizationServiceTests.fs
+0
-0
未找到文件。
src/fsharp/IlxGen.fs
浏览文件 @
7aa3d99c
...
...
@@ -5121,25 +5121,32 @@ and ComputeFlagFixupsForMemberBinding cenv (v:Val,memberInfo:ValMemberInfo) =
let
otcref
=
tcrefOfAppTy
cenv
.
g
oty
let
tcref
=
v
.
MemberApparentEntity
let
useMethodImpl
=
// REVIEW: it would be good to get rid of this special casing of Compare and GetHashCode during code generation
let
isCompare
=
(
Option
.
isSome
tcref
.
GeneratedCompareToValues
&&
typeEquiv
cenv
.
g
oty
cenv
.
g
.
mk_IComparable_ty
)
||
(
Option
.
isSome
tcref
.
GeneratedCompareToValues
&&
tyconRefEq
cenv
.
g
cenv
.
g
.
system_GenericIComparable_tcref
otcref
)
let
isGenericEquals
=
(
Option
.
isSome
tcref
.
GeneratedHashAndEqualsWithComparerValues
&&
tyconRefEq
cenv
.
g
cenv
.
g
.
system_GenericIEquatable_tcref
otcref
)
let
isStructural
=
(
Option
.
isSome
tcref
.
GeneratedCompareToWithComparerValues
&&
typeEquiv
cenv
.
g
oty
cenv
.
g
.
mk_IStructuralComparable_ty
)
||
(
Option
.
isSome
tcref
.
GeneratedHashAndEqualsWithComparerValues
&&
typeEquiv
cenv
.
g
oty
cenv
.
g
.
mk_IStructuralEquatable_ty
)
isInterfaceTy
cenv
.
g
oty
&&
not
isCompare
&&
not
isStructural
&&
not
isGenericEquals
let
useMethodImpl
=
// REVIEW: it would be good to get rid of this special casing of Compare and GetHashCode during code generation
isInterfaceTy
cenv
.
g
oty
&&
(
let
isCompare
=
Option
.
isSome
tcref
.
GeneratedCompareToValues
&&
(
typeEquiv
cenv
.
g
oty
cenv
.
g
.
mk_IComparable_ty
||
tyconRefEq
cenv
.
g
cenv
.
g
.
system_GenericIComparable_tcref
otcref
)
not
isCompare
)
&&
(
let
isGenericEquals
=
Option
.
isSome
tcref
.
GeneratedHashAndEqualsWithComparerValues
&&
tyconRefEq
cenv
.
g
cenv
.
g
.
system_GenericIEquatable_tcref
otcref
not
isGenericEquals
)
&&
(
let
isStructural
=
(
Option
.
isSome
tcref
.
GeneratedCompareToWithComparerValues
&&
typeEquiv
cenv
.
g
oty
cenv
.
g
.
mk_IStructuralComparable_ty
)
||
(
Option
.
isSome
tcref
.
GeneratedHashAndEqualsWithComparerValues
&&
typeEquiv
cenv
.
g
oty
cenv
.
g
.
mk_IStructuralEquatable_ty
)
not
isStructural
)
let
nameOfOverridingMethod
=
GenNameOfOverridingMethod
cenv
(
useMethodImpl
,
slotsig
)
(
if
useMethodImpl
then
fixupMethodImplFlags
>>
renameMethodDef
nameOfOverridingMethod
else
fixupVirtualSlotFlags
>>
renameMethodDef
nameOfOverridingMethod
))
if
useMethodImpl
then
fixupMethodImplFlags
>>
renameMethodDef
nameOfOverridingMethod
else
fixupVirtualSlotFlags
>>
renameMethodDef
nameOfOverridingMethod
)
and
ComputeMethodImplAttribs
cenv
(_
v
:
Val
)
attrs
=
let
implflags
=
...
...
vsintegration/tests/
unitt
ests/SemanticColorizationServiceTests.fs
→
vsintegration/tests/
UnitT
ests/SemanticColorizationServiceTests.fs
浏览文件 @
7aa3d99c
文件已移动
vsintegration/tests/
unitt
ests/SyntacticColorizationServiceTests.fs
→
vsintegration/tests/
UnitT
ests/SyntacticColorizationServiceTests.fs
浏览文件 @
7aa3d99c
文件已移动
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录