Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
73c60ead
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
73c60ead
编写于
10月 16, 2018
作者:
C
Charles Stoner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Misc.
上级
06fce402
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
11 deletion
+14
-11
src/Compilers/CSharp/Portable/Symbols/Source/SourceMemberMethodSymbol.cs
...Sharp/Portable/Symbols/Source/SourceMemberMethodSymbol.cs
+3
-2
src/Compilers/CSharp/Test/Semantic/Semantics/NullableReferenceTypesTests.cs
...rp/Test/Semantic/Semantics/NullableReferenceTypesTests.cs
+11
-9
未找到文件。
src/Compilers/CSharp/Portable/Symbols/Source/SourceMemberMethodSymbol.cs
浏览文件 @
73c60ead
...
...
@@ -1623,8 +1623,11 @@ internal override void AddSynthesizedAttributes(PEModuleBuilder moduleBuilder, r
{
base
.
AddSynthesizedAttributes
(
moduleBuilder
,
ref
attributes
);
AddSynthesizedNonNullTypesAttributeForMember
(
ref
attributes
);
bool
isAsync
=
this
.
IsAsync
;
bool
isIterator
=
this
.
IsIterator
;
if
(!
isAsync
&&
!
isIterator
)
{
return
;
...
...
@@ -1661,8 +1664,6 @@ internal override void AddSynthesizedAttributes(PEModuleBuilder moduleBuilder, r
// to have correct stepping behavior during debugging.
AddSynthesizedAttribute
(
ref
attributes
,
compilation
.
SynthesizeDebuggerStepThroughAttribute
());
}
AddSynthesizedNonNullTypesAttributeForMember
(
ref
attributes
);
}
/// <summary>
...
...
src/Compilers/CSharp/Test/Semantic/Semantics/NullableReferenceTypesTests.cs
浏览文件 @
73c60ead
...
...
@@ -39479,18 +39479,20 @@ public void TypeInference_LowerBounds_NestedNullability_Pointers()
static void G(object?* x, object* y)
{
var z = CreatePointer(A.F)/*T:object**/;
F(x, x)/*T:object
?*!
*/;
F(x, y)/*T:object*
!
*/;
F(x, z)/*T:object*
!
*/;
F(y, x)/*T:object*
!
*/;
F(y, y)/*T:object
!*!
*/;
F(y, z)/*T:object*
!
*/;
F(z, x)/*T:object*
!
*/;
F(z, y)/*T:object*
!
*/;
F(z, z)/*T:object*
!
*/;
F(x, x)/*T:object
*
*/;
F(x, y)/*T:object**/;
F(x, z)/*T:object**/;
F(y, x)/*T:object**/;
F(y, y)/*T:object
*
*/;
F(y, z)/*T:object**/;
F(z, x)/*T:object**/;
F(z, y)/*T:object**/;
F(z, z)/*T:object**/;
}
}";
var comp = CreateCompilation(new[] { source }, options: WithNonNullTypesTrue(TestOptions.UnsafeDebugDll), references: new[] { ref0 });
// NullableWalker.VisitCall is currently skipping F(x, y), etc. because
// each BoundCall has errors.
comp.VerifyTypes();
comp.VerifyDiagnostics(
// (4,12): error CS0208: Cannot take the address of, get the size of, or declare a pointer to a managed type ('T')
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录