提交 6e8e0d46 编写于 作者: A AlekseyTs

Clean-up skipped tests in Roslyn.Compilers.VisualBasic.Symbol.UnitTests.DLL

上级 e2f91430
......@@ -716,7 +716,7 @@ Public MustInherit Class BasicTestBaseBase
Implements IComparer(Of NamedTypeSymbol)
Private Function Compare(x As NamedTypeSymbol, y As NamedTypeSymbol) As Integer Implements IComparer(Of NamedTypeSymbol).Compare
Dim result As Integer = IdentifierComparison.Comparer.Compare(x.Name, y.Name)
Dim result As Integer = StringComparer.OrdinalIgnoreCase.Compare(x.Name, y.Name)
If result <> 0 Then
Return result
......
......@@ -6734,7 +6734,8 @@ End Class
End Sub
<Fact(Skip:="1104815")>
<Fact>
<WorkItem(4719, "https://github.com/dotnet/roslyn/issues/4719")>
Public Sub CrefLookup()
Dim source =
<compilation name="AssemblyName">
......@@ -6763,7 +6764,14 @@ End Class
Dim inner = outer.GetMember(Of NamedTypeSymbol)("Inner")
Dim position = syntaxTree.ToString().IndexOf("(Of U)", StringComparison.Ordinal)
Assert.Equal(inner, model.LookupSymbols(position, outer, inner.Name).Single())
Const bug4719IsFixed = False
If bug4719IsFixed Then
Assert.Equal(inner, model.LookupSymbols(position, outer, inner.Name).Single())
Else
Assert.False(model.LookupSymbols(position, outer, inner.Name).Any())
End If
End Sub
<Fact()>
......
......@@ -4387,7 +4387,8 @@ End Class
' The native compiler reports constraint errors at
' the syntax location of invalid type argument.
<WorkItem(529188, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/529188")>
<Fact(Skip:="529188")>
<WorkItem(99630, "https://devdiv.visualstudio.com/defaultcollection/DevDiv/_workitems#_a=edit&id=99630")>
<Fact>
Public Sub ConstraintErrorLocation()
Dim compilation = CompilationUtils.CreateCompilationWithMscorlib(
<compilation>
......@@ -4411,7 +4412,12 @@ Class C(Of U)
End Class
</file>
</compilation>)
compilation.AssertTheseDiagnostics(<errors>
Dim expected As XElement
Const bug99630IsFixed = False
If bug99630IsFixed Then
expected = <errors>
BC32105: Type argument 'U' does not satisfy the 'Structure' constraint for type parameter 'T'.
Class B(Of U As I(Of U))
~
......@@ -4430,7 +4436,31 @@ BC32105: Type argument 'I(Of V As Structure)' does not satisfy the 'Structure' c
BC32105: Type argument 'Object()' does not satisfy the 'Structure' constraint for type parameter 'T'.
Function F() As C(Of A(Of Object())()).D
~~~~~~~~
</errors>)
</errors>
Else
expected = <errors>
BC32105: Type argument 'U' does not satisfy the 'Structure' constraint for type parameter 'T'.
Class B(Of U As I(Of U))
~~~~~~~
BC32105: Type argument 'A(Of U)' does not satisfy the 'Structure' constraint for type parameter 'T'.
Class C(Of U)
~
BC32105: Type argument 'U' does not satisfy the 'Structure' constraint for type parameter 'T'.
Class C(Of U)
~
BC32105: Type argument 'U' does not satisfy the 'Structure' constraint for type parameter 'T'.
Class C(Of U)
~
BC32105: Type argument 'I(Of V As Structure)' does not satisfy the 'Structure' constraint for type parameter 'T'.
Sub M(Of V As Structure)(o As A(Of I(Of V)))
~
BC32105: Type argument 'Object()' does not satisfy the 'Structure' constraint for type parameter 'T'.
Function F() As C(Of A(Of Object())()).D
~~~~~~~~~~~~~~~~~~~~~~~~
</errors>
End If
compilation.AssertTheseDiagnostics(expected)
End Sub
<Fact()>
......@@ -5058,7 +5088,8 @@ BC32083: Type argument 'B' must have a public parameterless instance constructor
''' same errors are reported from property signature.
''' </summary>
<WorkItem(530423, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/530423")>
<Fact(Skip:="530423")>
<WorkItem(101074, "https://devdiv.visualstudio.com/defaultcollection/DevDiv/_workitems#_a=edit&id=101074")>
<Fact>
Public Sub PropertySignatureDuplicateErrors()
Dim compilation = CompilationUtils.CreateCompilationWithMscorlib(
<compilation>
......@@ -5096,7 +5127,13 @@ Class D
End Class
]]></file>
</compilation>)
compilation.AssertTheseDiagnostics(<errors><![CDATA[
Dim expected As XElement
Const bug101074IsFixed = False
If bug101074IsFixed Then
expected = <errors>
BC32083: Type argument 'A' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter 'T'.
Property P1(o As I(Of A)) As Object
~
......@@ -5109,7 +5146,34 @@ BC32083: Type argument 'C' must have a public parameterless instance constructor
BC32083: Type argument 'C' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter 'T'.
Set(value As I(Of C))
~
]]></errors>)
</errors>
Else
expected = <errors>
BC32083: Type argument 'A' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter 'T'.
Property P1(o As I(Of A)) As Object
~
BC32083: Type argument 'A' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter 'T'.
Property P1(o As I(Of A)) As Object
~
BC32083: Type argument 'A' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter 'T'.
Property P1(o As I(Of A)) As Object
~
BC32083: Type argument 'B' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter 'T'.
Property P2 As I(Of B)
~
BC32083: Type argument 'C' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter 'T'.
Property P3 As I(Of C)
~
BC32083: Type argument 'C' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter 'T'.
Set(value As I(Of C))
~~~~~
BC32083: Type argument 'C' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter 'T'.
Set(value As I(Of C))
~
</errors>
End If
compilation.AssertTheseDiagnostics(expected)
End Sub
<WorkItem(546780, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/546780")>
......
......@@ -11,7 +11,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests.Symbols.Metadata.PE
Public Class LoadingNamespacesAndTypes
Inherits BasicTestBase
<Fact(Skip:="873386")>
<Fact>
Public Sub Test1()
Dim assembly = LoadFromBytes(TestResources.NetFX.v4_0_21006.mscorlib)
Dim dumpXML As XElement = LoadChildNamespace1(assembly.Modules(0).GlobalNamespace)
......@@ -24,7 +24,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests.Symbols.Metadata.PE
Assert.Equal(dumpXML.ToString(), baseLine.ToString())
End Sub
<Fact(Skip:="873386")>
<Fact>
Public Sub Test2()
Dim assembly = LoadFromBytes(TestResources.NetFX.v4_0_21006.mscorlib)
Dim dumpXML As XElement = LoadChildNamespace2(assembly.Modules(0).GlobalNamespace)
......
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
Imports Microsoft.CodeAnalysis.VisualBasic.Symbols
Imports Roslyn.Test.Utilities
Imports System.Collections.Immutable
Imports System.Runtime.CompilerServices
Imports Microsoft.CodeAnalysis.Test.Utilities
Imports Microsoft.CodeAnalysis.VisualBasic.Symbols
Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests.Symbols.Metadata.PE
......@@ -174,51 +174,54 @@ End Module
Assert.IsType(Of NoPiaMissingCanonicalTypeSymbol)(methodSymbol.ReturnType)
End Sub
<Fact(Skip:="531054")>
<Fact>
<WorkItem(531054, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems?_a=edit&id=531054")>
Public Sub NoPIALocalTypesEquivalentToEachOtherInterfaceAsReturnTypeInExternalAssembly()
' Interface - As property in external assembly
Dim localTypeSource = <text>class TypeSubstitution
Dim localTypeSource =
<compilation><file>
class TypeSubstitution
Dim myLocalType As ISubFuncProp = ExternalAsm1.Scen4
End Class</text>
Dim localConsumer = CreateCompilationWithMscorlibAndReferences(localTypeSource, references:={TestReferences.SymbolsTests.NoPia.GeneralPia, TestReferences.SymbolsTests.NoPia.ExternalAsm1})
End Class
</file></compilation>
Dim localConsumer = CreateCompilationWithReferences(localTypeSource, references:={TestReferences.SymbolsTests.NoPia.GeneralPia, TestReferences.SymbolsTests.NoPia.ExternalAsm1})
Dim localConsumerRefsAsm = localConsumer.[Assembly].GetNoPiaResolutionAssemblies()
Dim canonicalType = localConsumerRefsAsm.First(Function(arg) arg.Name = "GeneralPia").GlobalNamespace.GetTypeMembers("ISubFuncProp").[Single]()
Dim classLocalType As NamedTypeSymbol = localConsumer.GlobalNamespace.GetTypeMembers("TypeSubstitution").[Single]()
Dim localFieldSymbol As FieldSymbol = classLocalType.GetMembers("myLocalType").OfType(Of FieldSymbol)().[Single]()
Dim classRefLocalType As NamedTypeSymbol = localConsumerRefsAsm.First(Function(arg) arg.Name = "ExternalAsm1").GlobalNamespace.GetTypeMembers("ExternalAsm1").[Single]()
Dim methodSymbol As MethodSymbol = classRefLocalType.GetMembers("Scen4").OfType(Of MethodSymbol)().[Single]()
Dim missing As NoPiaMissingCanonicalTypeSymbol = DirectCast(methodSymbol.ReturnType, NoPiaMissingCanonicalTypeSymbol)
Assert.Same(localConsumerRefsAsm.First(Function(arg) arg.Name = "ExternalAsm1"), missing.EmbeddingAssembly)
Assert.Null(missing.Guid)
Assert.Equal(canonicalType.ToTestDisplayString(), missing.FullTypeName)
Assert.Equal("f9c2d51d-4f44-45f0-9eda-c9d599b58257", missing.Scope)
Assert.Equal(canonicalType.ToTestDisplayString(), missing.Identifier)
Dim propertySymbol = classRefLocalType.GetMembers("Scen4").OfType(Of PropertySymbol)().[Single]()
Dim propertType = propertySymbol.Type
Assert.Equal(canonicalType.ToTestDisplayString(), propertType.Name)
Assert.Same(canonicalType, localFieldSymbol.[Type])
Assert.IsType(Of NoPiaMissingCanonicalTypeSymbol)(methodSymbol.ReturnType)
Assert.IsAssignableFrom(Of VisualBasic.Symbols.Metadata.PE.PENamedTypeSymbol)(propertySymbol.Type)
End Sub
<Fact(Skip:="531054")>
<Fact>
<WorkItem(531054, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems?_a=edit&id=531054")>
Public Sub NoPIALocalTypesEquivalentToEachOtherDelegateAsReturnTypeInExternalAssembly()
'Same as previous scenario but with Delegate
Dim localTypeSource = <text>class TypeSubstitution
Dim localTypeSource =
<compilation><file>
class TypeSubstitution
Dim myLocalType As GeneralEventScenario.EventHandler = ExternalAsm1.Scen5
End Class </text>
Dim localConsumer = CreateCompilationWithMscorlibAndReferences(localTypeSource, references:={TestReferences.SymbolsTests.NoPia.GeneralPia, TestReferences.SymbolsTests.NoPia.ExternalAsm1})
End Class
</file></compilation>
Dim localConsumer = CreateCompilationWithReferences(localTypeSource, references:={TestReferences.SymbolsTests.NoPia.GeneralPia, TestReferences.SymbolsTests.NoPia.ExternalAsm1})
Dim localConsumerRefsAsm = localConsumer.[Assembly].GetNoPiaResolutionAssemblies()
Dim canonicalType = localConsumerRefsAsm(0).GlobalNamespace.ChildNamespace("GeneralEventScenario")
Dim canonicalTypeInter = canonicalType.GetTypeMembers("EventHandler").[Single]()
Dim classLocalType As NamedTypeSymbol = localConsumer.GlobalNamespace.GetTypeMembers("TypeSubstitution").[Single]()
Dim localFieldSymbol As FieldSymbol = classLocalType.GetMembers("myLocalType").OfType(Of FieldSymbol)().[Single]()
Dim classRefLocalType As NamedTypeSymbol = localConsumerRefsAsm.First(Function(arg) arg.Name = "ExternalAsm1").GlobalNamespace.GetTypeMembers("ExternalAsm1").[Single]()
Dim methodSymbol As MethodSymbol = classRefLocalType.GetMembers("Scen5").OfType(Of MethodSymbol)().[Single]()
Dim missing As NoPiaMissingCanonicalTypeSymbol = DirectCast(methodSymbol.ReturnType, NoPiaMissingCanonicalTypeSymbol)
Dim propertySymbol = classRefLocalType.GetMembers("Scen5").OfType(Of PropertySymbol)().[Single]()
Dim missing As NoPiaMissingCanonicalTypeSymbol = DirectCast(propertySymbol.Type, NoPiaMissingCanonicalTypeSymbol)
Assert.Same(localConsumerRefsAsm.First(Function(arg) arg.Name = "ExternalAsm1"), missing.EmbeddingAssembly)
Assert.Null(missing.Guid)
Assert.Equal(canonicalType.ToTestDisplayString(), missing.FullTypeName)
Assert.Equal("f9c2d51d-4f44-45f0-9eda-c9d599b58257", missing.Scope)
Assert.Equal(canonicalType.ToTestDisplayString(), missing.Identifier)
Assert.Same(canonicalType, localFieldSymbol.[Type])
Assert.IsType(Of NoPiaMissingCanonicalTypeSymbol)(methodSymbol.ReturnType)
Assert.Equal("GeneralEventScenario.EventHandler", missing.Identifier)
Assert.Same(canonicalTypeInter, localFieldSymbol.[Type])
Assert.IsType(Of NoPiaMissingCanonicalTypeSymbol)(propertySymbol.Type)
End Sub
<Fact>
......
......@@ -11,8 +11,8 @@ Public Class MetadataFileReferenceCompilationTests
Inherits BasicTestBase
<WorkItem(539480, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539480")>
<WorkItem(1037628, "DevDiv")>
<Fact(Skip:="1037628")>
<WorkItem(1037628, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems?_a=edit&id=1037628")>
<Fact>
Public Sub BC31011ERR_BadRefLib1()
Dim ref = MetadataReference.CreateFromImage({}, filePath:="Foo.dll")
Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib(
......@@ -29,8 +29,8 @@ BC31519: 'Foo.dll' cannot be referenced because it is not a valid assembly.
CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1)
End Sub
<WorkItem(1037628, "DevDiv")>
<Fact(Skip:="1037628")>
<WorkItem(1037628, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems?_a=edit&id=1037628")>
<Fact>
Public Sub BC31007ERR_BadModuleFile1()
Dim ref = ModuleMetadata.CreateFromImage({}).GetReference(filePath:="Foo.dll")
Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib(
......@@ -42,7 +42,7 @@ End Class
</compilation>)
compilation1 = compilation1.AddReferences(ref)
Dim expectedErrors1 = <errors>
BC31007: Unable to load module file 'Foo.dll': Image is too small.
BC31007: Unable to load module file 'Foo.dll': PE image doesn't contain managed metadata.
</errors>
CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1)
End Sub
......
......@@ -2243,7 +2243,7 @@ End Class
End Sub
<WorkItem(862536, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/862536")>
<Fact(Skip:="862536")>
<Fact>
Public Sub Repro862536()
Dim source =
<compilation>
......@@ -2273,7 +2273,7 @@ BC30296: Interface 'A(Of T).B(Of S).B(Of U)' cannot inherit from itself:
End Sub
<WorkItem(862536, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/862536")>
<Fact(Skip:="862536")>
<Fact>
Public Sub ExpandingBaseInterface()
Dim source =
<compilation>
......@@ -2304,7 +2304,7 @@ Interface B : Inherits C(Of Integer).NotFound
End Sub
<WorkItem(862536, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/862536")>
<Fact(Skip:="862536")>
<Fact>
Public Sub ExpandingBaseInterfaceChain()
Dim source =
<compilation>
......@@ -2339,7 +2339,7 @@ Interface B : Inherits C(Of Integer).NotFound
End Sub
<WorkItem(862536, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/862536")>
<Fact(Skip:="862536")>
<Fact>
Public Sub ExpandingBaseClass()
Dim source =
<compilation>
......@@ -2368,41 +2368,6 @@ Class B : Inherits C(Of Integer).NotFound
Assert.Equal(0, model.LookupSymbols(0, typeC, "NotFound").Length)
End Sub
<WorkItem(862536, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/862536")>
<Fact(Skip:="862536")>
Public Sub ExpandingBaseClassChain()
Dim source =
<compilation>
<file name="a.vb">
Class C(Of T) : Inherits D(Of C(Of T))
End Class
Class D(Of T) : Inherits C(Of D(Of T))
End Class
Class B : Inherits C(Of Integer).NotFound
End Class
</file>
</compilation>
' Can't find NotFound in C(Of Integer), so we check the base type D(Of C(Of Integer)), etc.
Dim comp = CreateCompilationWithMscorlib(source)
comp.AssertTheseDiagnostics(<errors><![CDATA[
BC30296: Class 'C(Of T)' cannot inherit from itself:
'C(Of T)' inherits from 'D(Of C(Of T))'.
'D(Of C(Of T))' inherits from 'C(Of T)'.
Class C(Of T) : Inherits D(Of C(Of T))
~~~~~~~~~~~~~
BC30002: Type 'C.NotFound' is not defined.
Interface B : Inherits C(Of Integer).NotFound
~~~~~~~~~~~~~~~~~~~~~~
]]></errors>)
Dim model = comp.GetSemanticModel(comp.SyntaxTrees.Single())
Dim typeC = comp.GlobalNamespace.GetMember(Of NamedTypeSymbol)("C").Construct(comp.GetSpecialType(SpecialType.System_Int32))
Assert.Equal(0, model.LookupSymbols(0, typeC, "NotFound").Length)
End Sub
<WorkItem(1036374, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/1036374")>
<Fact()>
Public Sub InterfaceCircularInheritance_01()
......
......@@ -1232,7 +1232,9 @@ BC30500: Constant 'M0' cannot depend on its own value.
</errors>)
End Sub
<Fact(Skip:="886047"), WorkItem(886047, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/886047")>
<Fact,
WorkItem(123937, "https://devdiv.visualstudio.com/defaultcollection/DevDiv/_workitems#_a=edit&id=123937"),
WorkItem(886047, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/886047")>
Public Sub CircularDefinitionManyMembers_Explicit()
' Enum E
' M0 = Mn + 1
......@@ -1241,16 +1243,29 @@ BC30500: Constant 'M0' cannot depend on its own value.
' Mn = Mn-1 + 1
' End Enum
' Dev12 crashes at ~300 members.
Dim source = GenerateEnum(6000, Function(i, n) String.Format("M{0} + 1", If(i = 0, n - 1, i - 1)))
Const bug123937IsFixed = False
Dim count As Integer = 2
If bug123937IsFixed Then
count = 6000
End If
Dim source = GenerateEnum(count, Function(i, n) String.Format("M{0} + 1", If(i = 0, n - 1, i - 1)))
Dim comp = CompilationUtils.CreateCompilationWithMscorlib(source)
' Note, native compiler doesn't report BC30060, we should try to suppress it too.
comp.AssertTheseDiagnostics(<errors>
BC30500: Constant 'M0' cannot depend on its own value.
M0 = M5999 + 1
M0 = M1 + 1
~~
BC30060: Conversion from 'E' to 'Integer' cannot occur in a constant expression.
M1 = M0 + 1
~~
</errors>)
End Sub
<Fact(Skip:="886047"), WorkItem(886047, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/886047")>
<Fact,
WorkItem(123937, "https://devdiv.visualstudio.com/defaultcollection/DevDiv/_workitems#_a=edit&id=123937"),
WorkItem(886047, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/886047")>
Public Sub InvertedDefinitionManyMembers_Explicit()
' Enum E
' M0 = M1 - 1
......@@ -1259,7 +1274,13 @@ BC30500: Constant 'M0' cannot depend on its own value.
' Mn = n
' End Enum
' Dev12 crashes at ~300 members.
Dim source = GenerateEnum(6000, Function(i, n) If(i < n - 1, String.Format("M{0} - 1", i + 1), i.ToString()))
Const bug123937IsFixed = False
Dim count As Integer = 20
If bug123937IsFixed Then
count = 6000
End If
Dim source = GenerateEnum(count, Function(i, n) If(i < n - 1, String.Format("M{0} - 1", i + 1), i.ToString()))
Dim comp = CompilationUtils.CreateCompilationWithMscorlib(source)
comp.AssertTheseDiagnostics(<errors/>)
End Sub
......
......@@ -782,7 +782,7 @@ BC30456: 'E1' is not a member of 'Class1'.
</expected>)
End Sub
<Fact(Skip:="behaves as in Dev10 - unverifiable code. Should we do something more useful?")>
<Fact>
Public Sub EventProtectedAccessor()
Dim ilSource = <![CDATA[
.class public auto ansi beforefieldinit ClassLibrary1.Class1
......@@ -905,11 +905,14 @@ End Class
</file>
</compilation>
CompileWithCustomILSource(vbSource, ilSource.Value, TestOptions.ReleaseDll).
VerifyIL("C.M",
<![CDATA[
Dim compilation = CreateCompilationWithCustomILSource(vbSource, ilSource.Value, TestOptions.ReleaseDll)
]]>)
compilation.AssertTheseDiagnostics(
<expected>
BC30390: 'Class1.Protected Overloads RemoveHandler Event E1(value As Action)' is not accessible in this context because it is 'Protected'.
RemoveHandler x.E1, h
~~~~
</expected>)
End Sub
' Check that both errors are reported
......@@ -1642,8 +1645,9 @@ End Class
''' Avoid redundant errors from handlers when
''' a custom event type has errors.
''' </summary>
<Fact>
<WorkItem(101185, "https://devdiv.visualstudio.com/defaultcollection/DevDiv/_workitems?_a=edit&id=101185")>
<WorkItem(530406, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/530406")>
<Fact(Skip:="530406")>
Public Sub CustomEventTypeDuplicateErrors()
Dim compilation = CompilationUtils.CreateCompilationWithMscorlib(
<compilation>
......@@ -1665,6 +1669,12 @@ End Class
BC30508: 'E' cannot expose type 'C.D' in namespace '<Default>' through class 'C'.
Public Custom Event E As D
~
BC30508: 'value' cannot expose type 'C.D' in namespace '<Default>' through class 'C'.
AddHandler(value As D)
~
BC30508: 'value' cannot expose type 'C.D' in namespace '<Default>' through class 'C'.
RemoveHandler(value As D)
~
]]></errors>)
End Sub
......
......@@ -431,7 +431,8 @@ End Class]]>,
''' Fields named "value__" should be marked rtspecialname.
''' </summary>
<WorkItem(546185, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/546185")>
<Fact(Skip:="https://github.com/dotnet/roslyn/issues/6190")>
<WorkItem(6190, "https://github.com/dotnet/roslyn/issues/6190")>
<Fact>
Public Sub RTSpecialName()
Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime(
<compilation>
......
......@@ -4810,7 +4810,7 @@ End Class
End Sub
<WorkItem(527658, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/527658")>
<Fact(Skip:="527658")>
<Fact>
Public Sub PropertyWithPinnedModifierIsBogus()
Dim ilSource = <![CDATA[
.class public A {
......@@ -4825,7 +4825,12 @@ Class B
End Sub
End Class
]]></file></compilation>
CreateCompilationWithCustomILSource(vbSource, ilSource).VerifyDiagnostics()
CreateCompilationWithCustomILSource(vbSource, ilSource).AssertTheseDiagnostics(
<expected>
BC30643: Property 'Foo' is of an unsupported type.
Dim x As Object = A.Foo
~~~
</expected>)
End Sub
<WorkItem(538850, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/538850")>
......@@ -4874,7 +4879,7 @@ End Class
End Sub
<WorkItem(527664, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/527664")>
<Fact(Skip:="527664")>
<Fact>
Public Sub PropertyWithOpenGenericTypeAsTypeArgumentOfReturnTypeIsNotSupported()
Dim ilSource = <![CDATA[
.class public E<T> { }
......@@ -4894,7 +4899,7 @@ End Class
End Sub
<WorkItem(527657, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/527657")>
<Fact(Skip:="527657")>
<Fact>
Public Sub Dev10IgnoresSentinelInPropertySignature()
Dim ilSource = <![CDATA[
.class public A {
......@@ -4931,7 +4936,7 @@ End Class
End Sub
<WorkItem(527660, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/527660")>
<Fact(Skip:="527660")>
<Fact>
Public Sub CanReadPropertyWithModOptInBaseClassOfReturnType()
Dim ilSource = <![CDATA[
.class public E extends class [mscorlib]System.Collections.Generic.List`1<int32> modopt(int8) { }
......@@ -4947,7 +4952,7 @@ Class B
Dim x As Object = A.Foo
End Sub
End Class
]]>.</file></compilation>
]]></file></compilation>
CompileWithCustomILSource(vbSource, ilSource)
End Sub
......@@ -4988,7 +4993,7 @@ End Class
End Sub
<WorkItem(527656, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/527656")>
<Fact(Skip:="527656")>
<Fact>
Public Sub CanReadNonModOptPropertyWithOpenGenericModOptGetter()
Dim ilSource = <![CDATA[
.class public A {
......@@ -5127,7 +5132,8 @@ BC30456: 'get_Foo' is not a member of 'A'.
End Sub
<WorkItem(527662, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/527662")>
<Fact(Skip:="527662")>
<WorkItem(99292, "https://devdiv.visualstudio.com/defaultcollection/DevDiv/_workitems#_a=edit&id=99292")>
<Fact>
Public Sub CanNotReadPropertyWithModReqInBaseClassOfReturnType()
Dim ilSource = <![CDATA[
.class public E extends class [mscorlib]System.Collections.Generic.List`1<int32 modreq(int8)[]> { }
......@@ -7784,17 +7790,22 @@ BC30002: Type 'System.Object' is not defined.
End Sub
<WorkItem(530418, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/530418")>
<Fact(Skip:="530418")>
<WorkItem(101153, "https://devdiv.visualstudio.com/defaultcollection/DevDiv/_workitems#_a=edit&id=101153")>
<Fact>
Public Sub MissingSystemTypes_AutoProperty()
Dim compilation = CompilationUtils.CreateCompilationWithReferences(
<compilation>
<compilation name="MissingSystemTypes_AutoProperty">
<file name="a.vb"><![CDATA[
Class C
Property P As Object
End Class
]]></file>
</compilation>, references:=Nothing)
compilation.AssertTheseDiagnostics(<errors><![CDATA[
Const bug101153IsFixed = False
If bug101153IsFixed Then
compilation.AssertTheseDiagnostics(<errors><![CDATA[
BC35000: Requested operation is not available because the runtime library function 'System.Runtime.CompilerServices.RuntimeHelpers.GetObjectValue' is not defined.
Property P As Object
~
......@@ -7811,6 +7822,22 @@ BC30002: Type 'System.Object' is not defined.
Property P As Object
~~~~~~
]]></errors>)
Else
compilation.AssertTheseDiagnostics(<errors><![CDATA[
BC30002: Type 'System.Void' is not defined.
Class C
~~~~~~~~
BC31091: Import of type 'Object' from assembly or module 'MissingSystemTypes_AutoProperty.dll' failed.
Class C
~
BC30002: Type 'System.Void' is not defined.
Property P As Object
~~~~~~~~~~~~~~~~~~~~
BC30002: Type 'System.Object' is not defined.
Property P As Object
~~~~~~
]]></errors>)
End If
End Sub
<WorkItem(531292, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/531292")>
......
......@@ -6840,7 +6840,7 @@ BC30651: property parameters cannot be declared 'ByRef'.
CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1)
End Sub
<Fact(Skip:="NeedRro_diff")>
<Fact>
Public Sub BC30652ERR_UnreferencedAssembly3()
Dim Lib1 = CompilationUtils.CreateCompilationWithMscorlib(
<compilation name="Lib1">
......@@ -6870,8 +6870,9 @@ BC30651: property parameters cannot be declared 'ByRef'.
Dim ref2 = New VisualBasicCompilationReference(Lib2)
compilation1 = compilation1.AddReferences(ref2)
Dim expectedErrors1 = <errors><![CDATA[
BC30652:
~~~~~
BC30002: Type 'C1' is not defined.
Dim s as C1
~~
]]></errors>
CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1)
End Sub
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册