Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
09fa9d73
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,发现更多精彩内容 >>
提交
09fa9d73
编写于
12月 30, 2015
作者:
V
vsadov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
CR feedback for fixing 7388. Added a VB test.
上级
89c5ede8
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
57 addition
and
1 deletion
+57
-1
src/Compilers/VisualBasic/Portable/CodeGen/EmitConversion.vb
src/Compilers/VisualBasic/Portable/CodeGen/EmitConversion.vb
+1
-1
src/Compilers/VisualBasic/Test/Semantic/Semantics/ConditionalAccessTests.vb
...alBasic/Test/Semantic/Semantics/ConditionalAccessTests.vb
+56
-0
未找到文件。
src/Compilers/VisualBasic/Portable/CodeGen/EmitConversion.vb
浏览文件 @
09fa9d73
...
...
@@ -141,7 +141,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.CodeGen
Dim
typeTo
=
conversion
.
Type
If
conversion
.
Operand
.
IsNothingLiteral
Then
Debug
.
Assert
(
typeTo
.
IsValueType
AndAlso
Not
typeTo
.
IsTypeParameter
)
Debug
.
Assert
(
typeTo
.
IsValueType
OrElse
typeTo
.
IsTypeParameter
)
If
used
Then
'TODO: used
...
...
src/Compilers/VisualBasic/Test/Semantic/Semantics/ConditionalAccessTests.vb
浏览文件 @
09fa9d73
...
...
@@ -2436,6 +2436,62 @@ C1
End Sub
<Fact(), WorkItem(7388, "
https
:
//
github
.
com
/
dotnet
/
roslyn
/
issues
/
7388
")>
Public Sub ConstrainedToClass()
Dim compilationDef =
<compilation>
<file name="
a
.
vb
"><![CDATA[
Module Module1
Sub Main()
Dim v As New A(Of Object)
System.Console.WriteLine(A(Of Object).test(v))
End Sub
End Module
Public Class A(Of T As Class)
Public ReadOnly Property Value As T
Get
Return CType(CObj(42), T)
End Get
End Property
Public Shared Function test(val As A(Of T)) As T
Return val?.Value
End Function
End Class
]]></file>
</compilation>
Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime(compilationDef, TestOptions.ReleaseExe)
Dim verifier = CompileAndVerify(compilation, expectedOutput:=
<![CDATA[
42
]]>)
verifier.VerifyIL("
A
(
Of
T
).
test
(
A
(
Of
T
))
",
<![CDATA[
{
// Code size 20 (0x14)
.maxstack 1
.locals init (T V_0)
IL_0000: ldarg.0
IL_0001: brtrue.s IL_000d
IL_0003: ldloca.s V_0
IL_0005: initobj "
T
"
IL_000b: ldloc.0
IL_000c: ret
IL_000d: ldarg.0
IL_000e: call "
Function
A
(
Of
T
).
get_Value
()
As
T
"
IL_0013: ret
}
]]>)
End Sub
<Fact()>
Public Sub CodeGen_01()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录