Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
79ea2b42
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,发现更多精彩内容 >>
提交
79ea2b42
编写于
8月 31, 2015
作者:
A
AlekseyTs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Disable Obsolete checks for project level imports.
Fixes #4903.
上级
cca48c0b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
66 addition
and
0 deletion
+66
-0
src/Compilers/VisualBasic/Portable/Binding/ProjectImportsBinder.vb
...lers/VisualBasic/Portable/Binding/ProjectImportsBinder.vb
+9
-0
src/Compilers/VisualBasic/Portable/Symbols/Source/SourceModuleSymbol.vb
...VisualBasic/Portable/Symbols/Source/SourceModuleSymbol.vb
+2
-0
src/Compilers/VisualBasic/Test/Symbol/SymbolsTests/SymbolErrorTests.vb
.../VisualBasic/Test/Symbol/SymbolsTests/SymbolErrorTests.vb
+55
-0
未找到文件。
src/Compilers/VisualBasic/Portable/Binding/ProjectImportsBinder.vb
浏览文件 @
79ea2b42
...
...
@@ -33,6 +33,15 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
Public
Overrides
Function
GetSyntaxReference
(
node
As
VisualBasicSyntaxNode
)
As
SyntaxReference
Return
_tree
.
GetReference
(
node
)
End
Function
Friend
Overrides
ReadOnly
Property
SuppressObsoleteDiagnostics
As
Boolean
Get
' Obsolete diagnostics is not reported for project level imports. This is VS2013 behavior.
' This also ensures that we don't get into circularity while binding imports because we are
' remapping diagnostics in SourceModuleSymbol.BindImports
Return
True
End
Get
End
Property
End
Class
End
Namespace
src/Compilers/VisualBasic/Portable/Symbols/Source/SourceModuleSymbol.vb
浏览文件 @
79ea2b42
...
...
@@ -369,6 +369,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Symbols
binder
.
BindImportClause
(
globalImport
.
Clause
,
data
,
diagBagForThisImport
)
' Map diagnostics to new ones.
' Note, it is safe to resolve diagnostics here because we suppress obsolete diagnostics
' in ProjectImportsBinder.
For
Each
d
As
Diagnostic
In
diagBagForThisImport
.
AsEnumerable
()
' NOTE: Dev10 doesn't report 'ERR_DuplicateImport1' for project level imports.
If
d
.
Code
<>
ERRID
.
ERR_DuplicateImport1
Then
...
...
src/Compilers/VisualBasic/Test/Symbol/SymbolsTests/SymbolErrorTests.vb
浏览文件 @
79ea2b42
...
...
@@ -23618,5 +23618,60 @@ BC40012: event 'E2' implicitly declares 'remove_E2', which conflicts with a memb
CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1)
End Sub
<Fact>
Public Sub NoObsoleteDiagnosticsForProjectLevelImports_01()
Dim options = TestOptions.ReleaseDll.WithGlobalImports(GlobalImport.Parse({"GlobEnumsClass"}))
Dim compilation = CompilationUtils.CreateCompilationWithMscorlib(
<compilation>
<file name="a.vb"><![CDATA[
<System.Serializable><System.Obsolete()>
Class GlobEnumsClass
Public Enum xEmailMsg
Option1
Option2
End Enum
End Class
Class Account
Property Status() As xEmailMsg
End Class
]]></file>
</compilation>, options)
CompileAndVerify(compilation).VerifyDiagnostics()
End Sub
<Fact>
Public Sub NoObsoleteDiagnosticsForProjectLevelImports_02()
Dim compilation = CompilationUtils.CreateCompilationWithMscorlib(
<compilation>
<file name="a.vb"><![CDATA[
Imports GlobEnumsClass
<System.Serializable><System.Obsolete()>
Class GlobEnumsClass
Public Enum xEmailMsg
Option1
Option2
End Enum
End Class
Class Account
Property Status() As xEmailMsg
End Class
]]></file>
</compilation>, TestOptions.ReleaseDll)
compilation.AssertTheseDiagnostics(<expected>
BC40008: 'GlobEnumsClass' is obsolete.
Imports GlobEnumsClass
~~~~~~~~~~~~~~
</expected>)
End Sub
End Class
End Namespace
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录