' 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 System.Collections.Immutable Imports System.Xml.Linq Imports Microsoft.CodeAnalysis.Test.Utilities Imports Microsoft.CodeAnalysis.VisualBasic Imports Microsoft.CodeAnalysis.VisualBasic.Symbols Imports Microsoft.CodeAnalysis.VisualBasic.Symbols.Metadata.PE Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Imports Roslyn.Test.Utilities Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests ' this place is dedicated to various parser and/or symbol errors Public Class SymbolErrorTests Inherits BasicTestBase #Region "Targeted Error Tests" Public Sub BC30002ERR_UndefinedType1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30002ERR_UndefinedType1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30015ERR_InheritsFromRestrictedType1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30022ERR_ReadOnlyHasSet() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30022ERR_ReadOnlyHasSet2() Dim compilation1 = CompilationUtils.CreateCompilationWithCustomILSource( , ClassesWithReadWriteProperties) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30023ERR_WriteOnlyHasGet() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30023ERR_WriteOnlyHasGet2() Dim compilation1 = CompilationUtils.CreateCompilationWithCustomILSource( , ClassesWithReadWriteProperties) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30031ERR_FullyQualifiedNameTooLong1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim namespaceName As String = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD.EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE.FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG.HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH.IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII.JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ.KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN.OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP.QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ.RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT.UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVv" Dim expectedErrors = BC37220: Name '<%= namespaceName %>.CCCCC`1' exceeds the maximum length allowed in metadata. Class CCCCC(Of T) ~~~~~ BC37220: Name '<%= namespaceName %>.ssssss' exceeds the maximum length allowed in metadata. Structure ssssss ~~~~~~ BC37220: Name '<%= namespaceName %>.mmmmmm' exceeds the maximum length allowed in metadata. Module mmmmmm ~~~~~~ BC37220: Name '<%= namespaceName %>.eee' exceeds the maximum length allowed in metadata. Enum eee ~~~ BC37220: Name '<%= namespaceName %>.iii' exceeds the maximum length allowed in metadata. Interface iii ~~~ BC37220: Name '<%= namespaceName %>.s' exceeds the maximum length allowed in metadata. Delegate Sub s() ~ BC37220: Name '<%= namespaceName %>.f' exceeds the maximum length allowed in metadata. Delegate Function f() As Integer ~ CompilationUtils.AssertNoDeclarationDiagnostics(compilation) CompilationUtils.AssertTheseEmitDiagnostics(compilation, expectedErrors) End Sub Public Sub BC30050ERR_ParamArrayNotArray() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30051ERR_ParamArrayRank() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30121ERR_MultipleExtends() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30124ERR_PropMustHaveGetSet_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30124ERR_PropMustHaveGetSet_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30125ERR_WriteOnlyHasNoWrite_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30126ERR_ReadOnlyHasNoGet_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30149ERR_UnimplementedMember3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' Spec changed in Roslyn Public Sub BC30154ERR_UnimplementedProperty3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30177ERR_DuplicateModifierCategoryUsed() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30177ERR_DuplicateModifierCategoryUsed_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30178ERR_DuplicateSpecifier() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30178ERR_DuplicateSpecifier_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' Checks for duplicate type declarations Public Sub BC30179ERR_TypeConflict6() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = '. Class cc1 ~~~ BC30179: class 'cC1' and structure 'CC1' conflict in namespace ''. Class cC1 ~~~ BC30179: class 'Cc1' and structure 'CC1' conflict in namespace ''. Class Cc1 ~~~ BC30179: structure 'CC1' and class 'cc1' conflict in namespace ''. structure CC1 ~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30179ERR_TypeConflict6_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = '. Enum Unicode ~~~~~~~ BC30179: class 'Unicode' and enum 'Unicode' conflict in namespace ''. Class Unicode ~~~~~~~ BC30179: module 'Unicode' and enum 'Unicode' conflict in namespace ''. Module Unicode ~~~~~~~ BC30179: interface 'Unicode' and enum 'Unicode' conflict in namespace ''. Interface Unicode ~~~~~~~ BC30179: delegate Class 'Unicode' and enum 'Unicode' conflict in namespace ''. Delegate Sub Unicode() ~~~~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30179ERR_TypeConflict6_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30179ERR_TypeConflict6_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30179ERR_TypeConflict6_DupNestedEnumDeclarations() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30179ERR_TypeConflict6_DupEnumDeclarations() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = '. Enum foo ~~~ BC30179: enum 'foo' and enum 'foo' conflict in namespace ''. Enum foo ~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30182_ERR_UnrecognizedType() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30182_ERR_UnrecognizedType_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30210ERR_StrictDisallowsImplicitProc() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30210ERR_StrictDisallowsImplicitProc_1() CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_StrictDisallowsImplicitProc, "+"), Diagnostic(ERRID.WRN_DefAsgNoRetValOpRef1, "End Operator").WithArguments("+")) End Sub Public Sub BC30210ERR_StrictDisallowsImplicitProc_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30210ERR_StrictDisallowsImplicitProc_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30210ERR_StrictDisallowsImplicitProc_Declare() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30211ERR_StrictDisallowsImplicitArgs() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30211ERR_StrictDisallowsImplicitArgs_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30230ERR_ModuleCantInherit() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30231ERR_ModuleCantImplement() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30232ERR_BadImplementsType() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30233ERR_BadConstFlags1() Dim source = Dim c1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime(source) CompilationUtils.AssertTheseDiagnostics(c1, ) End Sub Public Sub BC30233ERR_BadConstFlags1_02() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30234ERR_BadWithEventsFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30235ERR_BadDimFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30237ERR_DuplicateParamName1_1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BC30237ERR_DuplicateParamName1_2() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BC30237ERR_DuplicateParamName1_ExternalMethods() Dim source = Shared Sub Runtime(a As Integer, a As Integer) End Sub Shared Sub InternalCall(b As Integer, b As Integer) End Sub Shared Sub DllImp(c As Integer, c As Integer) End Sub Declare Sub DeclareSub Lib "bar" (d As Integer, d As Integer) End Class ]]> CreateCompilationWithMscorlib(source).VerifyDiagnostics( Diagnostic(ERRID.ERR_DuplicateParamName1, "a").WithArguments("a"), Diagnostic(ERRID.ERR_DuplicateParamName1, "b").WithArguments("b"), Diagnostic(ERRID.ERR_DuplicateParamName1, "c").WithArguments("c")) End Sub Public Sub BC30242ERR_BadMethodFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30243ERR_BadEventFlags1() CompilationUtils.CreateCompilationWithMscorlib( ).VerifyDiagnostics( Diagnostic(ERRID.ERR_BadEventFlags1, "Overrides").WithArguments("Overrides"), Diagnostic(ERRID.ERR_BadEventFlags1, "Overloads").WithArguments("Overloads"), Diagnostic(ERRID.ERR_BadEventFlags1, "Overloads").WithArguments("Overloads"), Diagnostic(ERRID.ERR_BadEventFlags1, "Overrides").WithArguments("Overrides"), Diagnostic(ERRID.ERR_BadEventFlags1, "NotOverridable").WithArguments("NotOverridable"), Diagnostic(ERRID.ERR_BadEventFlags1, "Default").WithArguments("Default"), Diagnostic(ERRID.ERR_BadEventFlags1, "Static").WithArguments("Static"), Diagnostic(ERRID.WRN_OverrideType5, "e1").WithArguments("event", "e1", "event", "class", "c1"), Diagnostic(ERRID.WRN_OverrideType5, "e2").WithArguments("event", "e2", "event", "class", "c1")) End Sub ' BC30244ERR_BadDeclareFlags1 ' see AttributeTests Public Sub BC30246ERR_BadLocalConstFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics( Diagnostic(ERRID.ERR_BadLocalDimFlags1, "Shared").WithArguments("Shared"), Diagnostic(ERRID.WRN_UnusedLocalConst, "x").WithArguments("x")) End Sub Public Sub BC30247ERR_BadLocalDimFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30257ERR_InheritanceCycle1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30258ERR_InheritsFromNonClass() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' Checks for duplicate type declarations ' DEV code Public Sub BC30260ERR_MultiplyDefinedType3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30260ERR_MultiplyDefinedType3_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30260ERR_MultiplyDefinedType3_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' Note: Unlike Dev10, the error with 'S' is reported on the property ' rather than the struct, even though the struct appears first in source. ' That is because types are resolved before other members. Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30266ERR_BadOverrideAccess2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30267ERR_CantOverrideNotOverridable2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30269ERR_DuplicateProcDef1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30269ERR_DuplicateProcDef1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' TODO: The last error is expected to go away once "Implements" is supported. Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30269ERR_DuplicateProcDef1_Shared() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) AssertTheseDiagnostics(compilation1, errs:=) End Sub Public Sub BC30270ERR_BadInterfaceMethodFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30273ERR_BadInterfacePropertyFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30275ERR_InterfaceCantUseEventSpecifier1() CompilationUtils.CreateCompilationWithMscorlib( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_InterfaceCantUseEventSpecifier1, "Friend").WithArguments("Friend"), Diagnostic(ERRID.ERR_InterfaceCantUseEventSpecifier1, "Protected").WithArguments("Protected"), Diagnostic(ERRID.ERR_InterfaceCantUseEventSpecifier1, "Private").WithArguments("Private")) End Sub Public Sub BC30280ERR_BadEmptyEnum1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30283ERR_CantOverrideConstructor() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30284ERR_OverrideNotNeeded3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' ' Public Sub BC30293ERR_RecordEmbeds2() ' Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ' ' ' ) ' Dim expectedErrors1 = ' CompilationUtils.AssertTheseDeclarationErrors(compilation1, expectedErrors1) ' End Sub Public Sub BC30294ERR_RecordCycle2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30296ERR_InterfaceCycle1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30299ERR_InheritsFromCantInherit3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30300ERR_OverloadWithOptional2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30301ERR_OverloadWithReturnType2_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30301ERR_OverloadWithReturnType2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30302ERR_TypeCharWithType1_01() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30302ERR_TypeCharWithType1_02() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30302ERR_TypeCharWithType1_03() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30302ERR_TypeCharWithType1_04() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30303ERR_TypeCharOnSub() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30305ERR_PartialMethodDefaultParameterValue2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30305ERR_OverloadWithDefault2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub ERR_PartialMethodParamArrayMismatch2_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub ERR_PartialMethodParamArrayMismatch2_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ''' Only use with PEModuleSymbol and PEParameterSymbol Private Sub AssertHasExactlyOneParamArrayAttribute(m As ModuleSymbol, paramSymbol As ParameterSymbol) Dim peModule = DirectCast(m, PEModuleSymbol).Module Dim paramHandle = DirectCast(paramSymbol, PEParameterSymbol).Handle Assert.Equal(1, peModule.GetParamArrayCountOrThrow(paramHandle)) End Sub Public Sub ERR_PartialMethodParamArrayMismatch2_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( x() As Integer) End Sub Private Sub Foo6(x() As Integer) End Sub Sub Use() Foo6() End Sub End Class ]]> , TestOptions.ReleaseDll.WithMetadataImportOptions(MetadataImportOptions.All)) CompileAndVerify(compilation1, symbolValidator:=Sub(m As ModuleSymbol) Dim Cls30305 = m.GlobalNamespace.GetTypeMember("Cls30305") Dim Foo6 = Cls30305.GetMember(Of MethodSymbol)("Foo6") Dim FooParam = Foo6.Parameters(0) Assert.Equal(0, FooParam.GetAttributes().Length) Assert.True(FooParam.IsParamArray) AssertHasExactlyOneParamArrayAttribute(m, FooParam) End Sub) End Sub Public Sub ERR_PartialMethodParamArrayMismatch2_4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( x() As Integer) End Sub Sub Use() Foo6() End Sub End Class ]]> , TestOptions.ReleaseDll.WithMetadataImportOptions(MetadataImportOptions.All)) CompileAndVerify(compilation1, symbolValidator:=Sub(m As ModuleSymbol) Dim Cls30305 = m.GlobalNamespace.GetTypeMember("Cls30305") Dim Foo6 = Cls30305.GetMember(Of MethodSymbol)("Foo6") Dim FooParam = Foo6.Parameters(0) Assert.Equal(0, FooParam.GetAttributes().Length) Assert.True(FooParam.IsParamArray) AssertHasExactlyOneParamArrayAttribute(m, FooParam) End Sub) End Sub Public Sub ERR_PartialMethodParamArrayMismatch2_5() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( x() As Integer) End Sub Sub Use() Foo6() End Sub End Class ]]> , TestOptions.ReleaseDll.WithMetadataImportOptions(MetadataImportOptions.All)) CompileAndVerify(compilation1, symbolValidator:=Sub(m As ModuleSymbol) Dim Cls30305 = m.GlobalNamespace.GetTypeMember("Cls30305") Dim Foo6 = Cls30305.GetMember(Of MethodSymbol)("Foo6") Dim FooParam = Foo6.Parameters(0) Assert.Equal(0, FooParam.GetAttributes().Length) Assert.True(FooParam.IsParamArray) AssertHasExactlyOneParamArrayAttribute(m, FooParam) End Sub) End Sub Public Sub ERR_PartialMethodParamArrayMismatch2_6() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( x() As Integer) End Sub Private Sub Foo6(ParamArray x() As Integer) End Sub Sub Use() Foo6() End Sub End Class ]]> , TestOptions.ReleaseDll.WithMetadataImportOptions(MetadataImportOptions.All)) CompileAndVerify(compilation1, symbolValidator:=Sub(m As ModuleSymbol) Dim Cls30305 = m.GlobalNamespace.GetTypeMember("Cls30305") Dim Foo6 = Cls30305.GetMember(Of MethodSymbol)("Foo6") Dim FooParam = Foo6.Parameters(0) Assert.Equal(0, FooParam.GetAttributes().Length) Assert.True(FooParam.IsParamArray) AssertHasExactlyOneParamArrayAttribute(m, FooParam) End Sub) End Sub Public Sub ERR_PartialMethodParamArrayMismatch2_7() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( x() As Integer) End Sub Private Sub Foo6( x() As Integer) End Sub End Class ]]> ) Dim expectedErrors1 = x() As Integer) ~~~~~~~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub ERR_PartialMethodParamArrayMismatch2_8() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( , TestOptions.ReleaseDll.WithMetadataImportOptions(MetadataImportOptions.All)) CompileAndVerify(compilation1, symbolValidator:=Sub(m As ModuleSymbol) Dim Cls30305 = m.GlobalNamespace.GetTypeMember("Cls30305") Dim Foo6 = Cls30305.GetMember(Of MethodSymbol)("Foo6") Dim FooParam = Foo6.Parameters(0) Assert.Equal(0, FooParam.GetAttributes().Length) Assert.True(FooParam.IsParamArray) AssertHasExactlyOneParamArrayAttribute(m, FooParam) End Sub) End Sub Public Sub ERR_PartialMethodParamArrayMismatch2_9() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( , TestOptions.ReleaseDll.WithMetadataImportOptions(MetadataImportOptions.All)) CompileAndVerify(compilation1, symbolValidator:=Sub(m As ModuleSymbol) Dim Cls30305 = m.GlobalNamespace.GetTypeMember("Cls30305") Dim Foo6 = Cls30305.GetMember(Of MethodSymbol)("Foo6") Dim FooParam = Foo6.Parameters(0) Assert.Equal(0, FooParam.GetAttributes().Length) Assert.False(FooParam.IsParamArray) End Sub) End Sub Public Sub BC30307ERR_OverrideWithDefault2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30308ERR_OverrideWithOptional2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30345ERR_OverloadWithByref2_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30345ERR_OverloadWithByref2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30354ERR_InheritsFromNonInterface() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30359ERR_DuplicateDefaultProps1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) compilation1.AssertTheseDeclarationDiagnostics() End Sub ' Property names with different case. Public Sub BC30359ERR_DuplicateDefaultProps1_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) compilation1.AssertNoErrors() End Sub Public Sub BC30361ERR_DefaultMissingFromProperty2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' Property names with different case. Public Sub BC30361ERR_DefaultMissingFromProperty2_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) compilation1.AssertTheseDeclarationDiagnostics() End Sub Public Sub BC30362ERR_OverridingPropertyKind2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30362ERR_OverridingPropertyKind3() Dim compilation1 = CompilationUtils.CreateCompilationWithCustomILSource( , ClassesWithReadWriteProperties) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30364ERR_BadFlagsOnNew1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30366ERR_OverloadingPropertyKind2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30368ERR_OverloadWithArrayVsParamArray2_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30368ERR_OverloadWithArrayVsParamArray2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30371ERR_ModuleAsType1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30371ERR_ModuleAsType1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30385ERR_BadDelegateFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30385ERR_BadDelegateFlags1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30389ERR_InaccessibleSymbol2_AccessCheckCrossAssemblyDerived() Dim other As VisualBasicCompilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertNoErrors(other) Dim comp As VisualBasicCompilation = CompilationUtils.CreateCompilationWithMscorlibAndReferences( , {New VisualBasicCompilationReference(other)}) 'BC30389: 'C.c_int' is not accessible in this context because it is 'Friend'. ' Dim bb As Integer = C.c_int ' ~~~~~~~ 'BC30389: 'C.c_priv' is not accessible in this context because it is 'Private'. ' Dim ee As Integer = C.c_priv ' ~~~~~~~~ 'BC30389: 'D' is not accessible in this context because it is 'Friend'. ' Dim ff As Integer = D.d_pub ' ~ comp.VerifyDiagnostics(Diagnostic(ERRID.ERR_InaccessibleSymbol2, "C.c_int").WithArguments("C.c_int", "Friend"), Diagnostic(ERRID.ERR_InaccessibleSymbol2, "C.c_priv").WithArguments("C.c_priv", "Private"), Diagnostic(ERRID.ERR_InaccessibleSymbol2, "D").WithArguments("D", "Friend")) End Sub Public Sub BC30395ERR_BadRecordFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30396ERR_BadEnumFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30397ERR_BadInterfaceFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30398ERR_OverrideWithByref2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30401ERR_IdentNotMemberOfInterface4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30412ERR_WithEventsRequiresClass() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30413ERR_WithEventsAsStruct() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30433ERR_ModuleCantUseMethodSpecifier1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors1) End Sub Public Sub BC30434ERR_ModuleCantUseEventSpecifier1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30435ERR_StructCantUseVarSpecifier1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30435ERR_StructCantUseVarSpecifier1_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30435ERR_StructCantUseVarSpecifier1_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30435ERR_StructCantUseVarSpecifier1_4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30436ERR_ModuleCantUseMemberSpecifier1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30437ERR_InvalidOverrideDueToReturn2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30438ERR_ConstantWithNoValue() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30438ERR_ConstantWithNoValue02() Dim source = Dim c1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime(source) CompilationUtils.AssertTheseDiagnostics(c1, ) End Sub Public Sub BC30443ERR_DuplicatePropertyGet() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30444ERR_DuplicatePropertySet() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' ' Public Sub BC30445ERR_ConstAggregate() ' Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ' ' ') ' Dim expectedErrors1 = ' CompilationUtils.AssertTheseDeclarationErrors(compilation1, expectedErrors1) ' End Sub Public Sub BC30461ERR_BadClassFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30467ERR_NonNamespaceOrClassOnImport2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30468ERR_TypecharNotallowed() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30476ERR_EventSourceIsArray() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30479ERR_SharedConstructorWithParams() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30480ERR_SharedConstructorIllegalSpec1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30490ERR_BadFlagsWithDefault1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30497ERR_NewCannotHandleEvents() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseParseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30501ERR_BadFlagsOnSharedMeth1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30501ERR_BadFlagsOnSharedMeth2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30502ERR_BadFlagsOnSharedProperty1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30503ERR_BadFlagsOnStdModuleProperty1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30505ERR_SharedOnProcThatImpl() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) compilation1.AssertTheseDiagnostics() End Sub Public Sub BC30506ERR_NoWithEventsVarOnHandlesList() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub HandlesHiddenEvent() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub HandlesProperty001() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Public Property SomePropertyInBase() As EventSource Get Console.Write("#Get#") Return Nothing End Get Set(value As EventSource) End Set End Property End Class Class OuterClass Inherits SomeBase Private Shared SubObject As New EventSource Public Shared Property SomePropertyWrongValue() As EventSource Get Console.Write("#Get#") Return SubObject End Get Set(value As EventSource) End Set End Property Public Property SomePropertyNoAttribute() As EventSource Get Console.Write("#Get#") Return SubObject End Get Set(value As EventSource) End Set End Property Public Shared Property SomePropertyWriteOnly() As EventSource Get Console.Write("#Get#") Return SubObject End Get Set(value As EventSource) End Set End Property Sub Test() SubObject.test() End Sub End Class Class Sink Public WithEvents x As OuterClass Sub foo1() Handles x.SomePropertyWrongValue.MyEvent Console.Write("Handled Event On SubObject!") End Sub Sub foo2() Handles x.SomePropertyNoAttribute.MyEvent Console.Write("Handled Event On SubObject!") End Sub Sub foo3() Handles x.SomePropertyWriteonly.MyEvent Console.Write("Handled Event On SubObject!") End Sub Sub foo4() Handles x.SomePropertyInBase.MyEvent Console.Write("Handled Event On SubObject!") End Sub Sub test() x.Test() End Sub Sub New() x = New OuterClass End Sub End Class '..... End Namespace ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub WithEventsHides() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub WithEventsOverloads() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30508ERR_AccessMismatch6() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30508ERR_AccessMismatch6_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30508ERR_AccessMismatch6_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30508ERR_AccessMismatch6_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = ' through class 'F'. Sub M(o As B) ~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30509ERR_InheritanceAccessMismatch5() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = '. Inherits C1 ~~ BC30509: 'C5' cannot inherit from class 'Module1.C3.C4' because it expands the access of the base class to namespace ''. Inherits C4 ~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30529ERR_ParamTypingInconsistency() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30530ERR_ParamNameFunctionNameCollision_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30530ERR_ParamNameFunctionNameCollision_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30548ERR_InvalidAssemblyAttribute1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( 'COMPILEERROR: BC30549, "Module: c1()" NotInheritable Class c1Attribute Inherits Attribute End Class ]]> ).VerifyDiagnostics( Diagnostic(ERRID.ERR_InvalidAssemblyAttribute1, "c1").WithArguments("c1Attribute"), Diagnostic(ERRID.ERR_InvalidModuleAttribute1, "c1").WithArguments("c1Attribute")) End Sub Public Sub BC30549ERR_InvalidModuleAttribute1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Class InternalsVisibleTo Inherits Attribute End Class ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_InvalidModuleAttribute1, "InternalsVisibleTo").WithArguments("InternalsVisibleTo")) End Sub Public Sub BC30561ERR_AmbiguousInImports2() Dim options = TestOptions.ReleaseExe.WithGlobalImports(GlobalImport.Parse({"N1", "N2"})) Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( , options) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30562ERR_AmbiguousInModules2() Dim options = TestOptions.ReleaseExe.WithGlobalImports(GlobalImport.Parse({"N1", "N2"})) Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , options) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30572ERR_DuplicateNamedImportAlias1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30573ERR_DuplicatePrefix() Dim compilation = CreateCompilationWithMscorlibAndVBRuntimeAndReferences( Imports Imports Imports Imports Class C Private F As XElement = End Class ]]> , additionalRefs:=XmlReferences) compilation.AssertTheseDiagnostics( ~~~~~~~~~~~~~~~~~~ BC30573: XML namespace prefix 'p' is already declared. Imports ~~~~~~~~~~~~~~ ]]>) End Sub Public Sub BC30573ERR_DuplicatePrefix_1() Dim options = TestOptions.ReleaseDll.WithGlobalImports(GlobalImport.Parse({"", "", "", "", ""})) Dim compilation = CreateCompilationWithMscorlibAndVBRuntimeAndReferences( Imports Imports Class C End Class ]]> , additionalRefs:=XmlReferences, options:=options) compilation.AssertTheseDiagnostics(' at '' : XML namespace prefix 'p' is already declared. BC30573: Error in project-level import '' at '' : XML namespace prefix '' is already declared. ]]>) End Sub Public Sub BC30583ERR_MethodAlreadyImplemented2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30584ERR_DuplicateInInherits1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30584ERR_DuplicateInInherits1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30590ERR_EventNotFound1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30593ERR_ModuleCantUseVariableSpecifier1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30594ERR_SharedEventNeedsSharedHandler() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30927ERR_MustOverOnNotInheritPartClsMem1_1() CreateCompilationWithMscorlib( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_MustOverOnNotInheritPartClsMem1, "MustOverride").WithArguments("MustOverride")) End Sub Public Sub NotInheritableInOtherPartial() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDiagnostics(compilation, expectedErrors) End Sub Public Sub BC30607ERR_BadFlagsInNotInheritableClass1_2() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BC30610ERR_BaseOnlyClassesMustBeExplicit2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30610ERR_BaseOnlyClassesMustBeExplicit2WithBC31411() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30628ERR_StructCantInherit() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30629ERR_NewInStruct() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , parseOptions:=TestOptions.Regular.WithLanguageVersion(LanguageVersion.VisualBasic12)) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC37240ERR_StructParameterlessInstanceCtorMustBePublic() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30639ERR_BadPropertyFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30645ERR_InvalidOptionalParameterUsage1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Public Function HelloWorld(Optional ByVal n As String = "e") As String Return "Hello World" End Function End Module ]]> ) compilation1 = compilation1.AddReferences(TestReferences.NetFx.v4_0_30319.System_Web_Services) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30645ERR_InvalidOptionalParameterUsage1a() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Public Function HelloWorld(Optional ByVal n As String = "e") As String Return "Hello World" End Function End Module ]]> ) compilation1 = compilation1.AddReferences(TestReferences.NetFx.v4_0_30319.System_Web_Services) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BC30645: Attribute 'WebMethod' cannot be applied to a method with optional parameters. Public Function HelloWorld(Optional ByVal n As String = "e") As String ~~~~~~~~~~ ]]>) End Sub Public Sub BC30645ERR_InvalidOptionalParameterUsage1b() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Public Function HelloWorld1(Optional ByVal n As String = "e") As String Return "Hello World" End Function Public Function HelloWorld2(Optional ByVal n As String = "e") As String Return "Hello World" End Function Public Function HelloWorld3(Optional ByVal n As String = "e") As String Return "Hello World" End Function Public Function HelloWorld4(Optional ByVal n As String = "e") As String Return "Hello World" End Function Public Function HelloWorld5(Optional ByVal n As String = "e") As String Return "Hello World" End Function End Module ]]> ) compilation1 = compilation1.AddReferences(TestReferences.NetFx.v4_0_30319.System_Web_Services, TestReferences.NetFx.v4_0_30319.System_EnterpriseServices.dll) CompilationUtils.AssertTheseDiagnostics(compilation1, ~~~~~~~~~ ]]>) End Sub Public Sub BC30650ERR_InvalidEnumBase() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30651ERR_ByRefIllegal1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30652ERR_UnreferencedAssembly3() Dim Lib1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim Lib2 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim ref1 = New VisualBasicCompilationReference(Lib1) Lib2 = Lib2.AddReferences(ref1) Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim ref2 = New VisualBasicCompilationReference(Lib2) compilation1 = compilation1.AddReferences(ref2) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30656ERR_UnsupportedField1() Dim csharpComp = CSharp.CSharpCompilation.Create("Test", options:=New CSharp.CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)) Dim text = "public class A { public static volatile int X; }" Dim ref = TestReferences.NetFx.v4_0_21006.mscorlib csharpComp = csharpComp.AddSyntaxTrees(CSharp.SyntaxFactory.ParseSyntaxTree(text)) csharpComp = csharpComp.AddReferences(ref) Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) compilation1 = compilation1.AddReferences(MetadataReference.CreateFromImage(csharpComp.EmitToArray())) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30660ERR_LocalsCannotHaveAttributes() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public Class MyAttribute Inherits Attribute Public Sub New(p As ULong) End Sub End Class Public Class Foo Public Function SSS() As Byte Dim x As Byte = 1 Return x End Function End Class ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_LocalsCannotHaveAttributes, "")) End Sub Public Sub BC30662ERR_InvalidAttributeUsage2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Class attr1 Inherits Attribute End Class Class attr2 Inherits Attribute End Class Class attr3 Inherits Attribute End Class Class attr4 Inherits Attribute End Class Class attr5 Inherits Attribute End Class Class scen1 Public Declare Function Beep1 Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long Public Declare Function Beep2 Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long Public Declare Function Beep3 Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long Public Declare Function Beep4 Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long Public Declare Function Beep5 Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long End Class End Namespace ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_InvalidAttributeUsage2, "attr1").WithArguments("attr1", "Beep1"), Diagnostic(ERRID.ERR_InvalidAttributeUsage2, "attr2").WithArguments("attr2", "Beep2"), Diagnostic(ERRID.ERR_InvalidAttributeUsage2, "attr3").WithArguments("attr3", "Beep3"), Diagnostic(ERRID.ERR_InvalidAttributeUsage2, "attr4").WithArguments("attr4", "Beep4"), Diagnostic(ERRID.ERR_InvalidAttributeUsage2, "attr5").WithArguments("attr5", "Beep5")) End Sub Public Sub BC30663ERR_InvalidMultipleAttributeUsage1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Namespace DecAttr Class attrProperty Inherits Attribute End Class Class attrParameter Inherits Attribute End Class Class attrReturnType Inherits Attribute End Class Class attrClass Inherits Attribute End Class Class attrStruct Inherits Attribute End Class Class attrMethod Inherits Attribute End Class Class attrField Inherits Attribute End Class Class attrEnum Inherits Attribute End Class Class attrCtor Inherits Attribute End Class Class attrDelegate Inherits Attribute End Class Class attrInterface Inherits Attribute End Class Class attrAssembly Inherits Attribute End Class Class attrModule Inherits Attribute End Class Module M1 End Module Interface I End Interface Enum E member End Enum Delegate Sub Del() Class scen1(Of T1) Public Sub New() End Sub Public field as Integer Private newPropertyValue As String ' first ok ' first error ' second error Public Property NewProperty() As String Get Return newPropertyValue End Get Set(ByVal value As String) newPropertyValue = value End Set End Property Public function Sub1(Of T)( a as Integer, b as T) as Integer return 23 End function End Class Structure S1 End Structure End Namespace ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "Assembly:clscompliant(true)").WithArguments("CLSCompliantAttribute"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "Assembly:clscompliant(true)").WithArguments("CLSCompliantAttribute"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "Module:clscompliant(true)").WithArguments("CLSCompliantAttribute"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "Module:clscompliant(true)").WithArguments("CLSCompliantAttribute"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrDelegate()").WithArguments("attrDelegate"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrDelegate()").WithArguments("attrDelegate"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrEnum()").WithArguments("attrEnum"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrEnum()").WithArguments("attrEnum"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrInterface()").WithArguments("attrInterface"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrInterface()").WithArguments("attrInterface"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrClass()").WithArguments("attrClass"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrClass()").WithArguments("attrClass"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrStruct()").WithArguments("attrStruct"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrStruct()").WithArguments("attrStruct"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrParameter()").WithArguments("attrParameter"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrParameter()").WithArguments("attrParameter"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrClass()").WithArguments("attrClass"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrClass()").WithArguments("attrClass"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrCtor()").WithArguments("attrCtor"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrCtor()").WithArguments("attrCtor"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrField()").WithArguments("attrField"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrField()").WithArguments("attrField"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrProperty()").WithArguments("attrProperty"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrProperty()").WithArguments("attrProperty"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrReturnType()").WithArguments("attrReturnType"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrReturnType()").WithArguments("attrReturnType"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrMethod()").WithArguments("attrMethod"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "attrMethod()").WithArguments("attrMethod")) End Sub Public Sub BC30663ERR_InvalidMultipleAttributeUsage1a() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Class A1 Inherits Attribute End Class Class A2 Inherits Attribute End Class Partial Class C1 Partial Private Sub M(i As Integer) End Sub End Class Partial Class C1 Private Sub M(i As Integer) Dim s As New C1 s.M(i) End Sub End Class ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "A1()").WithArguments("A1")) End Sub Public Sub BC30663ERR_InvalidMultipleAttributeUsage1b() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Class A1 Inherits Attribute End Class Class A2 Inherits Attribute End Class Partial Class C1 Partial Private Sub M(i As Integer) End Sub End Class Partial Class C1 Private Sub M(i As Integer) Dim s As New C1 s.M(i) End Sub End Class ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "A1()").WithArguments("A1"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "A1()").WithArguments("A1")) End Sub Public Sub BC30663ERR_InvalidMultipleAttributeUsage1c() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Class A1 Inherits Attribute End Class Class A2 Inherits Attribute End Class Partial Class C1 Partial Private Sub M(i As Integer) End Sub End Class Partial Class C1 Private Sub M(i As Integer) Dim s As New C1 s.M(i) End Sub End Class ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "A1()").WithArguments("A1")) End Sub Public Sub BC30663ERR_InvalidMultipleAttributeUsage1d() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Class A1 Inherits Attribute End Class Class A2 Inherits Attribute End Class Partial Class C1 Partial Private Sub M(i As Integer) End Sub End Class Partial Class C1 Private Sub M(i As Integer) Dim s As New C1 s.M(i) End Sub End Class ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "A1()").WithArguments("A1"), Diagnostic(ERRID.ERR_InvalidMultipleAttributeUsage1, "A1()").WithArguments("A1")) End Sub Public Sub BC30668ERR_UseOfObsoleteSymbol2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Protected Friend WriteOnly Property scenario6() Set(ByVal Value) End Set End Property Public Shared WriteOnly Property scenario7() Set(ByVal Value) End Set End Property Default Property scenario8(ByVal i As Integer) As Integer Get Return 1 End Get Set(ByVal Value As Integer) End Set End Property End Class Class clsTest1 Default Public ReadOnly Property scenario9(ByVal i As Long) As Long Get Return 1 End Get End Property End Class Friend Module OBS022mod WriteOnly Property Scenario1a() Set(ByVal Value) End Set End Property ReadOnly Property scenario2() Get Return 1 End Get End Property Sub OBS022() Dim obj As Object = 23% Dim cls1 As New clstest() 'COMPILEERROR: BC30668, "Scenario1a" Scenario1a = obj 'COMPILEERROR: BC30668, "scenario2" obj = scenario2 'COMPILEERROR: BC30668, "cls1.scenario6" cls1.scenario6 = obj 'COMPILEERROR: BC30668, "clstest.scenario7" clstest.scenario7 = obj Dim cls2 As New clsTest1() 'COMPILEERROR: BC30668, "cls2" obj = cls2(4) End Sub End Module End Namespace ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30683ERR_InheritsStmtWrongOrder() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseParseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30688ERR_InterfaceEventCantUse1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30695ERR_MustShadow2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30695ERR_MustShadow2_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30696ERR_OverloadWithOptionalTypes2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC30697ERR_OverrideWithOptionalTypes2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30728ERR_StructsCannotHandleEvents() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30730ERR_OverridesImpliesOverridable() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' Checks for ERRID_ModuleCantUseMemberSpecifier1 ' Old name="ModifierErrorsInsideModules" Public Sub BC30735ERR_ModuleCantUseTypeSpecifier1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BC30770ERR_DefaultEventNotFound1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndReferences( Public Class EventSource1 Private Event LogonCompleted(ByVal UserName As String) End Class Public Class EventSource2 Public Event LogonCompleted(ByVal UserName As String) End Class Public Class EventSource22 Friend Event LogonCompleted(ByVal UserName As String) End Class Public Class EventSource23 Protected Event LogonCompleted(ByVal UserName As String) End Class Public Class EventSource24 Protected Friend Event LogonCompleted(ByVal UserName As String) End Class Public Class EventSource3 End Class Public Class EventSource4 End Class Public Class EventSource5 End Class Class Base Public Event LogonCompleted() End Class Class EventSource6 Inherits Base Private Shadows Event LogonCompleted(ByVal UserName As String) End Class Interface EventSource7 End Interface Structure EventSource8 End Structure ]]> , {SystemRef}, TestOptions.ReleaseDll) Dim expectedErrors = Public Class EventSource1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BC30770: Event 'LogonCompleteD' specified by the 'DefaultEvent' attribute is not a publicly accessible event for this class. Public Class EventSource23 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BC30770: Event 'LogonCompleteD' specified by the 'DefaultEvent' attribute is not a publicly accessible event for this class. Public Class EventSource24 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BC30770: Event ' ' specified by the 'DefaultEvent' attribute is not a publicly accessible event for this class. Public Class EventSource5 ~~~~~~~~~~~~~~~~~~ BC30662: Attribute 'DefaultEventAttribute' cannot be applied to 'EventSource7' because the attribute is not valid on this declaration type. Interface EventSource7 ~~~~~~~~~~~~ BC30662: Attribute 'DefaultEventAttribute' cannot be applied to 'EventSource8' because the attribute is not valid on this declaration type. Structure EventSource8 ~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BC30772ERR_InvalidNonSerializedUsage() Dim compilation = CreateCompilationWithMscorlibAndVBRuntime( Dim x = 1 Event E As System.Action End Module ]]> ) Dim expectedErrors = ~~~~~~~~~~~~~ BC30772: 'NonSerialized' attribute will not have any effect on this member because its containing class is not exposed as 'Serializable'. ~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BC30786ERR_ModuleCantUseDLLDeclareSpecifier1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) compilation.VerifyDiagnostics( Diagnostic(ERRID.ERR_ModuleCantUseDLLDeclareSpecifier1, "Protected").WithArguments("Protected")) End Sub Public Sub BC30791ERR_StructCantUseDLLDeclareSpecifier1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) compilation.VerifyDiagnostics( Diagnostic(ERRID.ERR_StructCantUseDLLDeclareSpecifier1, "Protected").WithArguments("Protected")) End Sub Public Sub BC30795ERR_SharedStructMemberCannotSpecifyNew() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BC31049ERR_SharedStructMemberCannotSpecifyInitializers() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BC30798ERR_InvalidTypeForAliasesImport2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30828ERR_ObsoleteAsAny() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) compilation1.VerifyDiagnostics(Diagnostic(ERRID.ERR_ObsoleteAsAny, "Any").WithArguments("Any")) End Sub Public Sub BC30906ERR_OverrideWithArrayVsParamArray2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30907ERR_CircularBaseDependencies4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30908ERR_NestedBase2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30909ERR_AccessMismatchOutsideAssembly4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30909ERR_AccessMismatchOutsideAssembly4_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30909ERR_AccessMismatchOutsideAssembly4_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30909ERR_AccessMismatchOutsideAssembly4_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30909ERR_AccessMismatchOutsideAssembly4_4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30910ERR_InheritanceAccessMismatchOutside3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30911ERR_UseOfObsoletePropertyAccessor3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Get Return "hello" End Get End Property End Class Class C2 Sub foo() Dim s As New C1 Dim a = s.p End Sub End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30912ERR_UseOfObsoletePropertyAccessor2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Get Return "hello" End Get End Property End Class Class C2 Sub foo() Dim s As New C1 Dim a = s.p End Sub End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30914ERR_AccessMismatchImplementedEvent6() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = ' through class 'c1'. Public Event foo() Implements i1.foo ~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30915ERR_AccessMismatchImplementedEvent4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30916ERR_InheritanceCycleInImportedType1() Dim C1 = TestReferences.SymbolsTests.CyclicInheritance.Class1 Dim C2 = TestReferences.SymbolsTests.CyclicInheritance.Class2 Dim Comp = CompilationUtils.CreateCompilationWithReferences( , {TestReferences.NetFx.v4_0_30319.mscorlib, C1, C2}) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(Comp, expectedErrors) End Sub Public Sub BC30916ERR_InheritanceCycleInImportedType1_2() Dim C1 = TestReferences.SymbolsTests.CyclicInheritance.Class1 Dim C2 = TestReferences.SymbolsTests.CyclicInheritance.Class2 Dim Comp = CompilationUtils.CreateCompilationWithReferences( , {TestReferences.NetFx.v4_0_30319.mscorlib, C1, C2}) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(Comp, expectedErrors) End Sub Public Sub BC30916ERR_InheritanceCycleInImportedType1_3() Dim C1 = TestReferences.SymbolsTests.CyclicInheritance.Class1 Dim C2 = TestReferences.SymbolsTests.CyclicInheritance.Class2 Dim Comp = CompilationUtils.CreateCompilationWithReferences( , {TestReferences.NetFx.v4_0_30319.mscorlib, C1, C2}) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(Comp, expectedErrors) End Sub Public Sub BC30921ERR_InheritsTypeArgAccessMismatch7() Dim Comp = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = '. Inherits baseClass(Of internalStructure) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(Comp, expectedErrors) End Sub Public Sub BC30922ERR_InheritsTypeArgAccessMismatchOutside5() Dim Comp = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(Comp, expectedErrors) End Sub Public Sub BC30925ERR_PartialTypeAccessMismatch3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30926ERR_PartialTypeBadMustInherit1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' dup of 30607? Public Sub BC30927ERR_MustOverOnNotInheritPartClsMem1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30928ERR_BaseMismatchForPartialClass3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30931ERR_PartialTypeTypeParamNameMismatch3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30932ERR_PartialTypeConstraintMismatch1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' Unrecognized constraint types should not result ' in constraint mismatch errors in partial types. Public Sub BC30932ERR_PartialTypeConstraintMismatch1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' Duplicate constraints in partial types. Public Sub BC30932ERR_PartialTypeConstraintMismatch1_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' Note: Dev10 simply reports the duplicate constraint in each case, even ' in subsequent partial declarations. Arguably the Dev10 behavior is better. Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30935ERR_AmbiguousOverrides3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30937ERR_AmbiguousImplements3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC30972ERR_StructLayoutAttributeNotAllowed() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Structure C1(Of T) Sub foo(ByVal a As T) End Sub End Structure ]]> ) Dim expectedErrors1 = ~~~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31029ERR_EventHandlerSignatureIncompatible2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31029ERR_EventHandlerSignatureIncompatible2a() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31033ERR_InterfaceImplementedTwice1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31033ERR_InterfaceImplementedTwice1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31035ERR_InterfaceNotImplemented1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31041ERR_BadInterfaceMember() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseParseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31043ERR_ArrayInitInStruct_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31043ERR_ArrayInitInStruct_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertNoDeclarationDiagnostics(compilation1) End Sub Public Sub BC31043ERR_ArrayInitInStruct_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31043ERR_ArrayInitInStruct_4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31044ERR_EventTypeNotDelegate() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31047ERR_ProtectedTypeOutsideClass() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' Checks for ERRID_StructCantUseVarSpecifier1 ' Oldname"ModifierErrorsInsideStructures" Public Sub BC31047ERR_ProtectedTypeOutsideClass_1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BC31048ERR_DefaultPropertyWithNoParams() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) compilation.AssertTheseDiagnostics() End Sub Public Sub BC31048ERR_DefaultPropertyWithNoParams_1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) compilation.AssertTheseDiagnostics() End Sub Public Sub BC31049ERR_InitializerInStruct() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31051ERR_DuplicateImport1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31051ERR_DuplicateImport1_GlobalImports() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( , New VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary).WithGlobalImports( GlobalImport.Parse( {"System.Collections", "System.Collections"} ) )) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC31051ERR_DuplicateImport1_GlobalImports_NoErrors() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( , New VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary).WithGlobalImports( GlobalImport.Parse( {"System.Collections", "System.Collections"} ) )) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC31052ERR_BadModuleFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31060ERR_SynthMemberClashesWithMember5_1() CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_SynthMemberClashesWithMember5, "obj1").WithArguments("event", "obj1", "obj1Event", "module", "M1")) End Sub Public Sub BC31060ERR_SynthMemberClashesWithMember5_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' Since nested types are bound before members, we report 31061 for ' cases where nested types conflict with implicit property members. ' This differs from Dev10 which reports 31060 in all these cases. Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31060ERR_SynthMemberClashesWithMember5_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31060ERR_SynthMemberClashesWithMember5_4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' Since nested types are bound before members, we report 31061 for ' cases where nested types conflict with implicit property members. ' This differs from Dev10 which reports 31060 in all these cases. Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31061ERR_MemberClashesWithSynth6_1() CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_MemberClashesWithSynth6, "ObjEvent").WithArguments("WithEvents variable", "ObjEvent", "event", "Obj", "module", "M1")) End Sub Public Sub BC31061ERR_MemberClashesWithSynth6_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31061ERR_MemberClashesWithSynth6_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31061ERR_MemberClashesWithSynth6_4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31063ERR_SetHasOnlyOneParam() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31064ERR_SetValueNotPropertyType() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31065ERR_SetHasToBeByVal1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31067ERR_StructureCantUseProtected() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31068ERR_BadInterfaceDelegateSpecifier1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31069ERR_BadInterfaceEnumSpecifier1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31070ERR_BadInterfaceClassSpecifier1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31071ERR_BadInterfaceStructSpecifier1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31075ERR_UseOfObsoleteSymbolNoMessage1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Interface I1 End Interface Class class1 Implements I1 End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31083ERR_ModuleMemberCantImplement() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31084ERR_EventDelegatesCantBeFunctions() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31086ERR_CantOverride4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Private Shared ReadOnly s_typeWithMixedProperty As String = .Value.Replace(vbLf, vbNewLine) Public Sub BC31086ERR_CantOverride5a() Dim compilation1 = CompilationUtils.CreateCompilationWithCustomILSource( , s_typeWithMixedProperty) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31086ERR_CantOverride5b() Dim compilation1 = CompilationUtils.CreateCompilationWithCustomILSource( , s_typeWithMixedProperty) ' WARNING: There are no Errors, but setter is actually not overridden!!! Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31087ERR_CantSpecifyArraysOnBoth() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31087ERR_CantSpecifyArraysOnBoth_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDiagnostics(compilation1, ) End Sub Public Sub BC31088ERR_NotOverridableRequiresOverrides() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31089ERR_PrivateTypeOutsideType() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31099ERR_BadPropertyAccessorFlags() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31100ERR_BadPropertyAccessorFlagsRestrict() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31101ERR_OnlyOneAccessorForGetSet() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31104ERR_WriteOnlyNoAccessorFlag() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31105ERR_ReadOnlyNoAccessorFlag() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31106ERR_BadPropertyAccessorFlags1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31107ERR_BadPropertyAccessorFlags2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31108ERR_BadPropertyAccessorFlags3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31127ERR_DuplicateAddHandlerDef() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31128ERR_DuplicateRemoveHandlerDef() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31129ERR_DuplicateRaiseEventDef() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31130ERR_MissingAddHandlerDef1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31131ERR_MissingRemoveHandlerDef1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31132ERR_MissingRaiseEventDef1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31133ERR_EventAddRemoveHasOnlyOneParam() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31134ERR_EventAddRemoveByrefParamIllegal() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31136ERR_AddRemoveParamNotEventType() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31137ERR_RaiseEventShapeMismatch1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31138ERR_EventMethodOptionalParamIllegal1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31142ERR_ObsoleteInvalidOnEventMember() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( RaiseEvent() End RaiseEvent End Event End Class ]]> ) Dim expectedErrors1 = ~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31400ERR_BadStaticLocalInStruct() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31400ERR_BadStaticLocalInStruct2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BadLocalspecifiers() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31401ERR_DuplicateLocalStatic1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31403ERR_ImportAliasConflictsWithType2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31404ERR_CantShadowAMustOverride1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31407ERR_MultipleEventImplMismatch3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31408ERR_BadSpecifierCombo2_0() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31408ERR_BadSpecifierCombo2_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31408ERR_BadSpecifierCombo2_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31408ERR_BadSpecifierCombo2_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31408ERR_BadSpecifierCombo2_4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31408ERR_BadSpecifierCombo2_5() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31408ERR_BadSpecifierCombo2_6() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36938ERR_BadIteratorReturn_Property() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31409ERR_MustBeOverloads2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31409ERR_MustBeOverloads2_Mixed_Properties_And_Methods() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31409ERR_MustBeOverloads2_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' spec changed in Roslyn Public Sub BC31410ERR_CantOverloadOnMultipleInheritance() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31411ERR_MustOverridesInClass1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31411ERR_MustOverridesInClass1_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31413ERR_SynthMemberShadowsMustOverride5() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' CONSIDER: Dev11 prints "Sub add_E", rather than "AddHandler Event e", but roslyn's behavior seems friendlier ' and more consistent with the way property accessors are displayed (in both dev11 and roslyn). Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31417ERR_CannotOverrideInAccessibleMember() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31418ERR_HandlesSyntaxInModule() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31420ERR_ClashWithReservedEnumMember1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31420ERR_ClashWithReservedEnumMember2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31422ERR_BadUseOfVoid_1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BC31422ERR_BadUseOfVoid_2() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BC31423ERR_EventImplMismatch5() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31429ERR_MetadataMembersAmbiguous3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = '. Class Base ~~~~ BC30521: Overload resolution failed because no accessible 'New' is most specific for these arguments: 'Public Sub New(a As Integer)': Not most specific. 'Public Sub New(a As Integer)': Not most specific. Dim b As Base = New Derived(a) ~~~~~~~ BC30179: class 'Derived' and class 'Derived' conflict in class 'Base'. Private Class Derived ~~~~~~~ BC31429: 'a' is ambiguous because multiple kinds of members with this name exist in class 'Base.Derived'. Me.a = a ~~~~ ]]> CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31431ERR_OnlyPrivatePartialMethods1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31431ERR_OnlyPrivatePartialMethods1a() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC31431ERR_OnlyPrivatePartialMethods1b() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC31431ERR_OnlyPrivatePartialMethods1c() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC31432ERR_PartialMethodsMustBePrivate() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31433ERR_OnlyOnePartialMethodAllowed2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31433ERR_OnlyOnePartialMethodAllowed2a() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' note the exact methods errors are reported on CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC31433ERR_OnlyOnePartialMethodAllowed2b() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC31433ERR_OnlyOnePartialMethodAllowed2c() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC31434ERR_OnlyOneImplementingMethodAllowed3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31434ERR_OnlyOneImplementingMethodAllowed3a() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = ' note the exact methods errors are reported on CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31437ERR_PartialMethodsMustBeSub1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31437ERR_PartialMethodsMustBeSub2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31438ERR_PartialMethodGenericConstraints2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31438ERR_PartialMethodGenericConstraints2a() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) ' NOTE: Dev10 reports three BC31438 in this case End Sub Public Sub BC31438ERR_PartialMethodGenericConstraints2b() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC31439ERR_PartialDeclarationImplements1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31439ERR_PartialDeclarationImplements1a() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC31441ERR_ImplementationMustBePrivate2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31441ERR_ImplementationMustBePrivate2a() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC31442ERR_PartialMethodParamNamesMustMatch3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31442ERR_PartialMethodParamNamesMustMatch3a() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC31443ERR_PartialMethodTypeParamNameMismatch3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31503ERR_AttributeMustBeClassNotStruct1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Class C1 End Class ]]> ) Dim expectedErrors1 = ~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC31504ERR_AttributeMustInheritSysAttr() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public Class MyAttribute 'Inherits Attribute End Class Class Test End Class ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_AttributeMustInheritSysAttr, "MyAttribute").WithArguments("MyAttribute")) End Sub Public Sub BC31506ERR_AttributeCannotBeAbstract() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public MustInherit Class MyAttribute Inherits Attribute Public Sub New() End Sub End Class Class Foo End Class ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_AttributeCannotBeAbstract, "My").WithArguments("MyAttribute")) End Sub Public Sub BC31507ERR_AttributeCannotHaveMustOverride() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public MustInherit Class MyAttribute Inherits Attribute Public Sub New() End Sub 'MustOverride Property AbsProp As Byte Public MustOverride Sub AbsSub() End Class Class Foo End Class ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_AttributeCannotBeAbstract, "My").WithArguments("MyAttribute")) End Sub Public Sub BC31512ERR_STAThreadAndMTAThread0() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Sub foo() End Sub End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' BC31523ERR_DllImportNotLegalOnDeclare ' BC31524ERR_DllImportNotLegalOnGetOrSet ' BC31526ERR_DllImportOnGenericSubOrFunction ' see AttributeTests Public Sub BC31527ERR_ComClassOnGeneric() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Class C1(Of T) Sub FOO(ByVal s As T) End Sub End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' BC31529ERR_DllImportOnInstanceMethod ' BC31530ERR_DllImportOnInterfaceMethod ' BC31531ERR_DllImportNotLegalOnEventMethod ' see AttributeTests Public Sub BC31534ERR_FriendAssemblyBadArguments() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndReferences( ' ok ' ok ' ok ' ok ' ok ' ok ' ok ' ok ' error ' error ' error ' error ' error ' error ' ok ]]> , {SystemCoreRef}) ' Tested against Dev12 compilation.VerifyDiagnostics( Diagnostic(ERRID.ERR_FriendAssemblyBadArguments, "Assembly: InternalsVisibleTo(""Test, Version=1"")").WithArguments("Test, Version=1").WithLocation(11, 2), Diagnostic(ERRID.ERR_FriendAssemblyBadArguments, "Assembly: InternalsVisibleTo(""Test, Version=1.*"")").WithArguments("Test, Version=1.*").WithLocation(12, 2), Diagnostic(ERRID.ERR_FriendAssemblyBadArguments, "Assembly: InternalsVisibleTo(""Test, Version=1.1.*"")").WithArguments("Test, Version=1.1.*").WithLocation(13, 2), Diagnostic(ERRID.ERR_FriendAssemblyBadArguments, "Assembly: InternalsVisibleTo(""Test, Version=1.1.1.*"")").WithArguments("Test, Version=1.1.1.*").WithLocation(14, 2), Diagnostic(ERRID.ERR_FriendAssemblyBadArguments, "Assembly: InternalsVisibleTo(""Test, ProcessorArchitecture=MSIL"")").WithArguments("Test, ProcessorArchitecture=MSIL").WithLocation(15, 2), Diagnostic(ERRID.ERR_FriendAssemblyBadArguments, "Assembly: InternalsVisibleTo(""Test, CuLTure=EN"")").WithArguments("Test, CuLTure=EN").WithLocation(16, 2)) End Sub Public Sub BC31537ERR_FriendAssemblyNameInvalid() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndReferences( ' ok ' ok (whitespace escape) ' ok (assembly name Unicode escape) ' ok ' invalid escape ' quotes in the middle ]]> , {SystemCoreRef}) ' Tested against Dev12 compilation.VerifyDiagnostics( Diagnostic(ERRID.ERR_FriendAssemblyNameInvalid, "Assembly: InternalsVisibleTo(""\u1000000;a"")").WithArguments("\u1000000;a").WithLocation(6, 2), Diagnostic(ERRID.ERR_FriendAssemblyNameInvalid, "Assembly: InternalsVisibleTo(""a'b'c"")").WithArguments("a'b'c").WithLocation(7, 2), Diagnostic(ERRID.ERR_FriendAssemblyNameInvalid, "Assembly: InternalsVisibleTo(""Test, PublicKey=Null"")").WithArguments("Test, PublicKey=Null").WithLocation(8, 2), Diagnostic(ERRID.ERR_FriendAssemblyNameInvalid, "Assembly: InternalsVisibleTo(""Test, Bar"")").WithArguments("Test, Bar").WithLocation(9, 2), Diagnostic(ERRID.ERR_FriendAssemblyNameInvalid, "Assembly: InternalsVisibleTo(""Test, Version"")").WithArguments("Test, Version").WithLocation(10, 2)) End Sub Public Sub BC31549ERR_PIAHasNoAssemblyGuid1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ]]> ) compilation1.AssertNoErrors() Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlibAndReferences( , references:={New VisualBasicCompilationReference(compilation1, embedInteropTypes:=True)}) compilation2.AssertTheseDeclarationDiagnostics() End Sub Public Sub BC31553ERR_PIAHasNoTypeLibAttribute1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ]]> ) compilation1.AssertNoErrors() Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlibAndReferences( , references:={New VisualBasicCompilationReference(compilation1, embedInteropTypes:=True)}) compilation2.AssertTheseDeclarationDiagnostics() End Sub Public Sub BC31553ERR_PIAHasNoTypeLibAttribute1_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) compilation1.AssertNoErrors() Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlibAndReferences( , references:={New VisualBasicCompilationReference(compilation1, embedInteropTypes:=True)}) compilation2.AssertTheseDeclarationDiagnostics() End Sub Public Sub BC32040ERR_BadFlagsOnNewOverloads() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32041ERR_TypeCharOnGenericParam() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32042ERR_TooFewGenericArguments1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32043ERR_TooManyGenericArguments1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32044ERR_GenericConstraintNotSatisfied2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32044ERR_GenericConstraintNotSatisfied2_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = (x As Object) As Object' does not inherit from or implement the constraint type 'Function (x As String) As String'. Foo(Function(x As String) x, Function(x As Object) x) ~~~ ]]> CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32047ERR_MultipleClassConstraints1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32048ERR_ConstNotClassInterfaceOrTypeParam1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' Checks for duplicate type parameters Public Sub BC32049ERR_DuplicateTypeParamName1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32054ERR_ShadowingGenericParamWithMember1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32055ERR_GenericParamBase2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32055ERR_GenericParamBase2_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32056ERR_ImplementsGenericParam() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32060ERR_ClassConstraintNotInheritable1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32061ERR_ConstraintIsRestrictedType1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32067ERR_AttrCannotBeGenerics() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Class c1 End Class Class myattr 'COMPILEERROR: BC32074,"Attribute" Inherits Attribute End Class 'COMPILEERROR: BC32067,"myattr" Class test3 End Class End Class ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_AttrCannotBeGenerics, "attributeusageattribute").WithArguments("attributeusageattribute"), Diagnostic(ERRID.ERR_AttrCannotBeGenerics, "myattr").WithArguments("Test(Of attributeusageattribute).myattr"), Diagnostic(ERRID.ERR_GenericClassCannotInheritAttr, "myattr")) End Sub Public Sub BC32068ERR_BadStaticLocalInGenericMethod() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32070ERR_SyntMemberShadowsGenericParam3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32071ERR_ConstraintAlreadyExists1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' Duplicate undefined constraint types. Public Sub BC32071ERR_ConstraintAlreadyExists1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32072ERR_InterfacePossiblyImplTwice2_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32074ERR_GenericClassCannotInheritAttr() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Class Attr1(Of A) 'COMPILEERROR: BC32074, "Attribute" Inherits Attribute End Class Class G(Of T) Class Attr2 'COMPILEERROR: BC32074,"Attribute" Inherits Attribute End Class End Class End Module ]]> ) compilation.AssertTheseDiagnostics() End Sub Public Sub BC32074ERR_GenericClassCannotInheritAttr_1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) compilation.AssertTheseDiagnostics() End Sub Public Sub BC32075ERR_DeclaresCantBeInGeneric() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) compilation1.VerifyDiagnostics(Diagnostic(ERRID.ERR_DeclaresCantBeInGeneric, "foo")) End Sub Public Sub BC32077ERR_OverrideWithConstraintMismatch2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32077ERR_OverrideWithConstraintMismatch2_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32078ERR_ImplementsWithConstraintMismatch3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' Single method implementing multiple interface methods. Public Sub BC32078ERR_ImplementsWithConstraintMismatch3_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32078ERR_ImplementsWithConstraintMismatch3_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC32078ERR_ImplementsWithConstraintMismatch3_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC32080ERR_HandlesInvalidOnGenericMethod() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32081ERR_MultipleNewConstraints() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32082ERR_MustInheritForNewConstraint2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32083ERR_NoSuitableNewForNewConstraint2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub ' Constructors with optional and params args ' should not be considered parameterless. Public Sub BC32083ERR_NoSuitableNewForNewConstraint2_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32084ERR_BadGenericParamForNewConstraint2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32086ERR_DuplicateRawGenericTypeImport1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32089ERR_NameSameAsMethodTypeParam1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32089ERR_NameSameAsMethodTypeParam1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32090ERR_TypeParamNameFunctionNameCollision() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32101ERR_MultipleReferenceConstraints() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32102ERR_MultipleValueConstraints() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32103ERR_NewAndValueConstraintsCombined() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32104ERR_RefAndValueConstraintsCombined() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32105ERR_BadTypeArgForStructConstraint2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32105ERR_BadTypeArgForStructConstraint2_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' TODO: Dev10 highlights the first type parameter or argument that ' violates a generic method constraint, not the entire expression. Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32105ERR_BadTypeArgForStructConstraint2_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32105ERR_BadTypeArgForStructConstraint2_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' TODO: Dev10 reports errors on the type argument violating the ' constraint rather than the type with type argument (reporting ' error in U in I(Of U) rather than entire I(Of U) for instance). Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32105ERR_BadTypeArgForStructConstraint2_4() Dim options = TestOptions.ReleaseDll.WithGlobalImports(GlobalImport.Parse({"N.A(Of Object).B(Of String)", "C=N.A(Of N.B).B(Of Object)"})) Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , options) Dim expectedErrors = CompilationUtils.AssertTheseDiagnostics(compilation, expectedErrors) End Sub Public Sub BC32106ERR_BadTypeArgForRefConstraint2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32107ERR_RefAndClassTypeConstrCombined() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32108ERR_ValueAndClassTypeConstrCombined() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32109ERR_ConstraintClashIndirectIndirect4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32110ERR_ConstraintClashDirectIndirect3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32110ERR_ConstraintClashDirectIndirect3_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32110ERR_ConstraintClashDirectIndirect3_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32111ERR_ConstraintClashIndirectDirect3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' Note: Dev10 never seems to generate BC32111. Instead, Dev10 generates ' BC32110 in the following cases, which is essentially the same error ' with arguments reordered, but with the other constraint highlighted. Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32113ERR_ConstraintCycle2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32114ERR_TypeParamWithStructConstAsConst() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32115ERR_NullableDisallowedForStructConstr1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32115ERR_NullableDisallowedForStructConstr1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32115ERR_NullableDisallowedForStructConstr1_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32115ERR_NullableDisallowedForStructConstr1_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32117ERR_NoAccessibleNonGeneric1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32118ERR_NoAccessibleGeneric1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32119ERR_ConflictingDirectConstraints3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32119ERR_ConflictingDirectConstraints3_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32119ERR_ConflictingDirectConstraints3_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32120ERR_InterfaceUnifiesWithInterface2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32120ERR_InterfaceUnifiesWithInterface2_SubstituteWithOtherTypeParameter() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) compilation1.AssertTheseDeclarationDiagnostics( ) End Sub Public Sub BC32121ERR_BaseUnifiesWithInterfaces3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32122ERR_InterfaceBaseUnifiesWithBase4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32123ERR_InterfaceUnifiesWithBase3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32072ERR_InterfacePossiblyImplTwice2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32131ERR_ClassInheritsBaseUnifiesWithInterfaces3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32132ERR_ClassInheritsInterfaceBaseUnifiesWithBase4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32133ERR_ClassInheritsInterfaceUnifiesWithBase3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32125ERR_InterfaceMethodImplsUnify3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32200ERR_ShadowingTypeOutsideClass1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32201ERR_PropertySetParamCollisionWithValue() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32201ERR_PropertySetParamCollisionWithValue_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32205ERR_WithEventsNameTooLong() Dim witheventname = New String("A"c, 1020) Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Option Strict On Imports System Module Program ' Declare a WithEvents variable. Dim WithEvents <%= witheventname %> As New EventClass ' Call the method that raises the object's events. Sub TestEvents() <%= witheventname %>.RaiseEvents() End Sub ' Declare an event handler that handles multiple events. Sub EClass_EventHandler() Handles <%= witheventname %>.XEvent, <%= witheventname %>.YEvent Console.WriteLine("Received Event.") End Sub Class EventClass Public Event XEvent() Public Event YEvent() ' RaiseEvents raises both events. Sub RaiseEvents() RaiseEvent XEvent() RaiseEvent YEvent() End Sub End Class End Module ) Dim squiggle As New String("~"c, witheventname.Length()) Dim expectedErrors1 = BC37220: Name 'get_<%= witheventname %>' exceeds the maximum length allowed in metadata. Dim WithEvents <%= witheventname %> As New EventClass <%= squiggle %> BC37220: Name 'set_<%= witheventname %>' exceeds the maximum length allowed in metadata. Dim WithEvents <%= witheventname %> As New EventClass <%= squiggle %> CompilationUtils.AssertNoDeclarationDiagnostics(compilation1) CompilationUtils.AssertTheseEmitDiagnostics(compilation1, expectedErrors1) End Sub ' BC32206ERR_SxSIndirectRefHigherThanDirectRef1: See ReferenceManagerTests.ReferenceBinding_SymbolUsed ' BC32208ERR_DuplicateReference2: See ReferenceManagerTests.BC32208ERR_DuplicateReference2 ' BC32208ERR_DuplicateReference2_2: See ReferenceManagerTests.BC32208ERR_DuplicateReference2_2 Public Sub BC32501ERR_ComClassAndReservedAttribute1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( _ Public Class c Public Sub FOO() End Sub End Class Public Interface a End Interface ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32504ERR_ComClassRequiresPublicClass2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Class C2 End Class End Class End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32507ERR_ComClassDuplicateGuids1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Public Class Class11 Sub test() End Sub End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32508ERR_ComClassCantBeAbstract0() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Public MustInherit Class C End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC32509ERR_ComClassRequiresPublicClass1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Protected Class C1 End Class End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC33009ERR_ParamArrayIllegal1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC33010ERR_OptionalIllegal1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC33011ERR_OperatorMustBePublic() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_OperatorMustBePublic, "Private").WithArguments("Private")) End Sub Public Sub BC33012ERR_OperatorMustBeShared() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_OperatorMustBeShared, "IsFalse")) End Sub Public Sub BC33013ERR_BadOperatorFlags1() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_BadOperatorFlags1, "Overridable").WithArguments("Overridable")) End Sub Public Sub BC33014ERR_OneParameterRequired1() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics( Diagnostic(ERRID.ERR_OneParameterRequired1, "IsFalse").WithArguments("IsFalse"), Diagnostic(ERRID.ERR_OneParameterRequired1, "IsTrue").WithArguments("IsTrue")) End Sub Public Sub BC33015ERR_TwoParametersRequired1() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_TwoParametersRequired1, "And").WithArguments("And")) End Sub ' Roslyn extra errors Public Sub BC33016ERR_OneOrTwoParametersRequired1() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics( Diagnostic(ERRID.ERR_ExpectedLparen, ""), Diagnostic(ERRID.ERR_ExpectedRparen, ""), Diagnostic(ERRID.ERR_Syntax, "("), Diagnostic(ERRID.ERR_OneOrTwoParametersRequired1, "+").WithArguments("+"), Diagnostic(ERRID.WRN_DefAsgNoRetValOpRef1, "End Operator").WithArguments("+")) ' Dim expectedErrors1 = ' CompilationUtils.AssertTheseDeclarationErrors(compilation1, expectedErrors1) End Sub Public Sub BC33017ERR_ConvMustBeWideningOrNarrowing() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_ConvMustBeWideningOrNarrowing, "CType")) End Sub Public Sub BC33019ERR_InvalidSpecifierOnNonConversion1() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_InvalidSpecifierOnNonConversion1, "Widening").WithArguments("Widening")) End Sub Public Sub BC33020ERR_UnaryParamMustBeContainingType1() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_UnaryParamMustBeContainingType1, "IsTrue").WithArguments("S1")) End Sub Public Sub BC33021ERR_BinaryParamMustBeContainingType1() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_BinaryParamMustBeContainingType1, "And").WithArguments("S1")) End Sub Public Sub BC33022ERR_ConvParamMustBeContainingType1() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_ConvParamMustBeContainingType1, "CType").WithArguments("S1")) End Sub Public Sub BC33023ERR_OperatorRequiresBoolReturnType1() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_OperatorRequiresBoolReturnType1, "IsTrue").WithArguments("IsTrue")) End Sub Public Sub BC33024ERR_ConversionToSameType() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_ConversionToSameType, "CType")) End Sub Public Sub BC33025ERR_ConversionToInterfaceType() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics( Diagnostic(ERRID.ERR_AccessMismatchOutsideAssembly4, "I1").WithArguments("op_Implicit", "I1", "structure", "S1"), Diagnostic(ERRID.ERR_ConversionToInterfaceType, "CType")) End Sub Public Sub BC33026ERR_ConversionToBaseType() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_ConversionToBaseType, "CType")) End Sub Public Sub BC33027ERR_ConversionToDerivedType() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_ConversionToDerivedType, "CType")) End Sub Public Sub BC33028ERR_ConversionToObject() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_ConversionToObject, "CType")) End Sub Public Sub BC33029ERR_ConversionFromInterfaceType() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_ConversionFromInterfaceType, "CType")) End Sub Public Sub BC33030ERR_ConversionFromBaseType() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_ConversionFromBaseType, "CType")) End Sub Public Sub BC33031ERR_ConversionFromDerivedType() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_ConversionFromDerivedType, "CType")) End Sub Public Sub BC33032ERR_ConversionFromObject() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_ConversionFromObject, "CType")) End Sub Public Sub BC33033ERR_MatchingOperatorExpected2() CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_MatchingOperatorExpected2, "IsFalse").WithArguments("IsTrue", "Public Shared Operator IsFalse(z As S1) As Boolean")) End Sub Public Sub BC33041ERR_OperatorRequiresIntegerParameter1() CreateCompilationWithMscorlibAndVBRuntime( >(ByVal x As S1, ByVal y As String) As S1 Return Nothing End Operator End Class ]]> ).VerifyDiagnostics(Diagnostic(ERRID.ERR_OperatorRequiresIntegerParameter1, ">>").WithArguments(">>")) End Sub Public Sub BC33101ERR_BadTypeArgForStructConstraintNull() Dim compilation1 = CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC33102ERR_CantSpecifyArrayAndNullableOnBoth() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC33109ERR_CantSpecifyAsNewAndNullable() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC33112ERR_NullableImplicit() Dim expectedErrors As New Dictionary(Of String, XElement) From { {"On", }, {"Off", }} For Each infer In {"On", "Off"} Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Option Infer <%= infer %> Class C1 Public field1?() Public field2?(,) Public field3?()() Public field4? 'Public field5? = 23 ' this is _NOT_ ok for Option Infer On, but it gives another diagnostic. Public field6?(1) ' this is ok for Option Infer On Public field7?(1)() ' this is ok for Option Infer On Sub foo() Dim local1?() Dim local2?(,) Dim local3?()() Dim local4? Dim local5? = 23 ' this is ok for Option Infer On Dim local6?(1) ' this is ok for Option Infer On Dim local7?(1)() ' this is ok for Option Infer On local1 = nothing local2 = nothing local3 = nothing local4 = nothing End Sub End Class ) CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors(infer)) Next End Sub Public Sub NestedNullableWithAttemptedConversion() Dim comp = CompilationUtils.CreateCompilationWithMscorlib( Imports System Class C Public Sub Main() Dim x As Nullable(Of Nullable(Of Integer)) = Nothing Dim y As Nullable(Of Integer) = Nothing Console.WriteLine(x Is Nothing) Console.WriteLine(y Is Nothing) Console.WriteLine(x = y) End Sub End Class ) CompilationUtils.AssertTheseDiagnostics(comp, ) End Sub Public Sub BC36015ERR_PropertyNameConflictInMyCollection() Dim compilation1 = CreateCompilationWithMscorlibAndVBRuntime( _ Public NotInheritable Class GRBB Private Shared Function Create(Of T As {New, base})(ByVal Instance As T) As T Return Nothing End Function Private Sub DisposeI(Of T As base)(ByRef Instance As T) End Sub Public m_derived As Short End Class Public Class base Public i As Integer End Class Public Class disposei Inherits base End Class ]]> ) Dim expectedErrors1 = _ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36551ERR_ExtensionMethodNotInModule() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndReferences( _ Public Sub Print(ByVal str As String) End Sub End Class ]]> , {SystemCoreRef}) Dim expectedErrors1 = _ ~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36552ERR_ExtensionMethodNoParams() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntimeAndReferences( _ Public Sub Print() End Sub End Module ]]> , {SystemCoreRef}) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36553ERR_ExtensionMethodOptionalFirstArg() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntimeAndReferences( _ Public Sub Print(Optional ByVal str As String = "hello") End Sub End Module ]]> , {SystemCoreRef}) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36554ERR_ExtensionMethodParamArrayFirstArg() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntimeAndReferences( _ Public Sub Print(ByVal ParamArray str() As String) End Sub End Module ]]> , {SystemCoreRef}) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36561ERR_ExtensionMethodUncallable1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntimeAndReferences( Sub M1(Of T, U As T)(o As T) End Sub Sub M2(Of T As I(Of U), U)(o As T) End Sub Sub M3(Of T, U As T)(o As U) End Sub Sub M4(Of T As I(Of U), U)(o As U) End Sub End Module ]]> , {SystemCoreRef}) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36632ERR_NullableParameterMustSpecifyType() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36634ERR_LambdasCannotHaveAttributes() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( m As Integer) _ m + 1 End Sub End Module ]]> ) compilation1.VerifyDiagnostics(Diagnostic(ERRID.ERR_LambdasCannotHaveAttributes, "")) End Sub Public Sub BC36643ERR_CantSpecifyParamsOnLambdaParamNoType() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_CantSpecifyParamsOnLambdaParamNoType, "y()")) End Sub Public Sub BC36713ERR_AutoPropertyInitializedInStructure() CompilationUtils.CreateCompilationWithMscorlib( ).VerifyDiagnostics(Diagnostic(ERRID.ERR_AutoPropertyInitializedInStructure, "AP"), Diagnostic(ERRID.ERR_NewIfNullOnGenericParam, "T")) End Sub Public Sub BC36713ERR_AutoPropertyInitializedInStructure_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36759ERR_AutoPropertyCantHaveParams() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36759ERR_AutoPropertyCantHaveParams_MustOverride() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36759ERR_AutoPropertyCantHaveParams_Default() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36722ERR_VarianceDisallowedHere() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36723ERR_VarianceInterfaceNesting() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36724ERR_VarianceOutParamDisallowed1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36725ERR_VarianceInParamDisallowed1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36726ERR_VarianceOutParamDisallowedForGeneric3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36727ERR_VarianceInParamDisallowedForGeneric3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36728ERR_VarianceOutParamDisallowedHere2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36729ERR_VarianceInParamDisallowedHere2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36730ERR_VarianceOutParamDisallowedHereForGeneric4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36731ERR_VarianceInParamDisallowedHereForGeneric4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36732ERR_VarianceTypeDisallowed2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36733ERR_VarianceTypeDisallowedForGeneric4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36735ERR_VarianceTypeDisallowedHere3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36736ERR_VarianceTypeDisallowedHereForGeneric5() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36738ERR_VariancePreventsSynthesizedEvents2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36740ERR_VarianceOutNullableDisallowed2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36741ERR_VarianceInNullableDisallowed2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36742ERR_VarianceOutByValDisallowed1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36743ERR_VarianceInReturnDisallowed1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36744ERR_VarianceOutConstraintDisallowed1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36745ERR_VarianceInReadOnlyPropertyDisallowed1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36746ERR_VarianceOutWriteOnlyPropertyDisallowed1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36747ERR_VarianceOutPropertyDisallowed1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36748ERR_VarianceInPropertyDisallowed1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36749ERR_VarianceOutByRefDisallowed1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36750ERR_VarianceInByRefDisallowed1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC36917ERR_OverloadsModifierInModule() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' Old name"MethodErrorsOverloadsInModule" Public Sub BC36917ERR_OverloadsModifierInModule_1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub #End Region #Region "Targeted Warning Tests" Public Sub BC40000WRN_UseOfObsoleteSymbol2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40003WRN_MustOverloadBase4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40004WRN_OverrideType5() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40005WRN_MustOverride2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40007WRN_DefaultnessShadowed4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40007WRN_DefaultnessShadowed4_NoErrors() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC40007WRN_DefaultnessShadowed4_TwoErrors() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC40007WRN_DefaultnessShadowed4_MixedErrors() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC40007WRN_DefaultnessShadowed4_DifferentCasing() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' Differs only by case, shouldn't have errors. Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40007WRN_DefaultnessShadowed4_Interface() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40011WRN_ComClassNoMembers1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Public Class C1 End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40012WRN_SynthMemberShadowsMember5_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40012WRN_SynthMemberShadowsMember5_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40012WRN_SynthMemberShadowsMember5_3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40012WRN_SynthMemberShadowsMember5_4() CompilationUtils.CreateCompilationWithMscorlib( ).VerifyDiagnostics(Diagnostic(ERRID.WRN_SynthMemberShadowsMember5, "E").WithArguments("event", "E", "EEventHandler", "class", "A"), Diagnostic(ERRID.WRN_SynthMemberShadowsMember5, "E").WithArguments("event", "E", "EEvent", "class", "A"), Diagnostic(ERRID.WRN_SynthMemberShadowsMember5, "E").WithArguments("event", "E", "add_E", "class", "A"), Diagnostic(ERRID.WRN_SynthMemberShadowsMember5, "E").WithArguments("event", "E", "remove_E", "class", "A")) End Sub Public Sub BC40014WRN_MemberShadowsSynthMember6() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40019WRN_UseOfObsoletePropertyAccessor3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Get Return "hello" End Get End Property End Class Class C2 Sub foo() Dim s As C1 = New C1() Dim a = s.p End Sub End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40025WRN_FieldNotCLSCompliant1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public Class GenCompClass(Of T) Public Structure NonCompStruct Public a As UInteger End Structure Class cls1 End Class End Class Public Class C(Of t) Inherits GenCompClass(Of String) Public x As GenCompClass(Of String).cls1 Public y As GenCompClass(Of String).NonCompStruct End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40026WRN_BaseClassNotCLSCompliant2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public Class MyCompliantClass Inherits BASE End Class Public Class BASE End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40027WRN_ProcTypeNotCLSCompliant1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public Class MyCompliantClass Public Function ChangeValue() As UInt32 Return Nothing End Function End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40028WRN_ParamNotCLSCompliant1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public Class MyCompliantClass Public Sub ChangeValue(ByVal value As UInt32) End Sub End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40029WRN_InheritedInterfaceNotCLSCompliant2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public Interface i1 End Interface Public Interface i2 Inherits i1 End Interface ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40030WRN_CLSMemberInNonCLSType3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Class C1 End Class End Module ]]> ) Dim expectedErrors1 = Class C1 ~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40031WRN_NameNotCLSCompliant1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Namespace _NS End Namespace ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40032WRN_EnumUnderlyingTypeNotCLS1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public Class c1 Public Enum COLORS As UInteger RED GREEN BLUE End Enum End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40033WRN_NonCLSMemberInCLSInterface1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public Interface IFace Property Prop1() As Long Function F2() As Integer Event EV3(ByVal i3 As Integer) Sub Sub4() End Interface ]]> ) Dim expectedErrors1 = Property Prop1() As Long ~~~~~ BC40033: Non CLS-compliant 'Function F2() As Integer' is not allowed in a CLS-compliant interface. Function F2() As Integer ~~ BC40033: Non CLS-compliant 'Event EV3(i3 As Integer)' is not allowed in a CLS-compliant interface. Event EV3(ByVal i3 As Integer) ~~~ BC40033: Non CLS-compliant 'Sub Sub4()' is not allowed in a CLS-compliant interface. Sub Sub4() ~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40034WRN_NonCLSMustOverrideInCLSType1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public MustInherit Class QuiteCompliant Public MustOverride Sub Sub1() Protected MustOverride Function Fun2() As Integer Protected Friend MustOverride Sub Sub3() Friend MustOverride Function Fun4(ByVal x As Long) As Long End Class ]]> ) Dim expectedErrors1 = Public MustOverride Sub Sub1() ~~~~ BC40034: Non CLS-compliant 'MustOverride' member is not allowed in CLS-compliant type 'QuiteCompliant'. Protected MustOverride Function Fun2() As Integer ~~~~ BC40034: Non CLS-compliant 'MustOverride' member is not allowed in CLS-compliant type 'QuiteCompliant'. Protected Friend MustOverride Sub Sub3() ~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40035WRN_ArrayOverloadsNonCLS2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public MustInherit Class QuiteCompliant Public Sub foo(Of t)(ByVal p1()()() As Integer) End Sub Public Sub foo(Of t)(ByVal p1()()()()() As Integer) End Sub End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40038WRN_RootNamespaceNotCLSCompliant1() Dim opt = New VisualBasicCompilationOptions(OutputKind.ConsoleApplication).WithRootNamespace("_CLS") Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Module M1 End Module ]]> , opt) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40039WRN_RootNamespaceNotCLSCompliant2() Dim opt = New VisualBasicCompilationOptions(OutputKind.ConsoleApplication).WithRootNamespace("A._B") Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Module M1 End Module ]]> , opt) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40041WRN_TypeNotCLSCompliant1() Dim opt = New VisualBasicCompilationOptions(OutputKind.ConsoleApplication) Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public Class GenCompClass(Of T) End Class Public Class C(Of t) Inherits GenCompClass(Of UInteger) End Class ]]> , opt) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40042WRN_OptionalValueNotCLSCompliant1() Dim opt = New VisualBasicCompilationOptions(OutputKind.ConsoleApplication) Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Public Module M1 Public Sub foo(Of t)(Optional ByVal p1 As Object = 3UI) End Sub End Module ]]> , opt) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40043WRN_CLSAttrInvalidOnGetSet() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Get Return Nothing End Get Set(ByVal value As String) End Set End Property End Class ]]> ) Dim expectedErrors1 = ~~~~~~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40046WRN_TypeConflictButMerged6() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = ', but are being merged because one of them is declared partial. Interface ii ~~ BC40046: structure 'teststruct' and partial structure 'teststruct' conflict in namespace '', but are being merged because one of them is declared partial. Structure teststruct ~~~~~~~~~~ BC40046: structure 'teststruct' and partial structure 'teststruct' conflict in namespace '', but are being merged because one of them is declared partial. Structure teststruct ~~~~~~~~~~ BC40046: interface 'ii' and partial interface 'ii' conflict in namespace '', but are being merged because one of them is declared partial. Interface ii ' 3 ~~ BC40046: module 'm' and partial module 'm' conflict in namespace '', but are being merged because one of them is declared partial. Module m ~ BC40046: module 'm' and partial module 'm' conflict in namespace '', but are being merged because one of them is declared partial. Module m ' 3 ~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40046WRN_TypeConflictButMerged6_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40048WRN_ShadowingGenericParamWithParam1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40048WRN_ShadowingGenericParamWithParam1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ).VerifyDiagnostics(Diagnostic(ERRID.WRN_ShadowingGenericParamWithParam1, "T").WithArguments("T")) End Sub Public Sub BC40050WRN_EventDelegateTypeNotCLSCompliant2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Public Class ETester Public Delegate Sub abc(ByVal n As Integer) Public Custom Event E As abc AddHandler(ByVal Value As abc) End AddHandler RemoveHandler(ByVal Value As abc) End RemoveHandler RaiseEvent(ByVal n As Integer) End RaiseEvent End Event End Class ]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40053WRN_CLSEventMethodInNonCLSType3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( _ Public Class cls1 Delegate Sub del1() Custom Event e1 As del1 AddHandler(ByVal value As del1) End AddHandler _ RemoveHandler(ByVal value As del1) End RemoveHandler RaiseEvent() End RaiseEvent End Event End Class ]]> ) Dim expectedErrors1 = _ ~~~~~~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40055WRN_NamespaceCaseMismatch3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, ) End Sub Public Sub BC40055_WRN_NamespaceCaseMismatch3_2() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , New VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary, rootNamespace:="ConsoleApplicationVB")) compilation.AssertTheseDiagnostics( '. Namespace CONSOLEAPPLICATIONVB ~~~~~~~~~~~~~~~~~~~~ ]]>) ' different casing to see that best name has no influence on error compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , New VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary, rootNamespace:="CONSOLEAPPLICATIONVB")) compilation.AssertTheseDiagnostics( '. Namespace consoleapplicationvb ~~~~~~~~~~~~~~~~~~~~ ]]>) ' passing nested ns to rootnamespace compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , New VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary, rootNamespace:="FOO.bar")) compilation.AssertTheseDiagnostics( '. Namespace BAR ~~~ ]]>) compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , New VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary, rootNamespace:="FOO.BAR")) compilation.AssertTheseDiagnostics( '. Namespace bar ~~~ ]]>) ' passing nested ns to rootnamespace compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , New VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary, rootNamespace:="FOO.BAR")) compilation.AssertTheseDiagnostics( '. Namespace foo ~~~ ]]>) compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , New VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary, rootNamespace:="foo.BAR")) compilation.AssertTheseDiagnostics( '. Namespace FOO ~~~ ]]>) ' no warnings if spelling is correct compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , New VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary, rootNamespace:="CONSOLEAPPLICATIONVB")) compilation.AssertNoErrors() ' no warnings if no root namespace is given compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) compilation.AssertNoErrors() ' no warnings for global namespace itself compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) compilation.AssertNoErrors() End Sub Public Sub BC40056WRN_UndefinedOrEmptyNamespaceOrClass1() Dim options = New VisualBasicCompilationOptions(OutputKind.ConsoleApplication).WithRootNamespace("BC40056WRN_UndefinedOrEmptyNamespaceOrClass1") Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( , options ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40056WRN_UndefinedOrEmptyNamespaceOrClass1_1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40056WRN_UndefinedOrEmptyNamespaceOrClass1_2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC40057WRN_UndefinedOrEmptyProjectNamespaceOrClass1() Dim globalImports = GlobalImport.Parse({"Alias2 = System", "N12 = Alias2"}) Dim options = TestOptions.ReleaseExe.WithGlobalImports(globalImports) Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( , options) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC41005WRN_MissingAsClauseinOperator() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( BC42021. "Operator without an 'As' clause; type of Object assumed." Return Nothing End Operator End Class ]]> , New VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary, optionStrict:=OptionStrict.Custom)) Dim expectedErrors1 = BC42021. "Operator without an 'As' clause; type of Object assumed." ~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC42000WRN_MustShadowOnMultipleInheritance2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC42014WRN_IndirectlyImplementedBaseMember5() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' BC42014 is deprecated Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC42015WRN_ImplementedBaseMember4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) ' BC42015 is deprecated Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub BC42020WRN_ObjectAssumedVar1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , TestOptions.ReleaseExe.WithOptionInfer(False).WithOptionStrict(OptionStrict.Custom)) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) compilation1 = compilation1.WithOptions(TestOptions.ReleaseExe.WithOptionInfer(False).WithOptionStrict(OptionStrict.Off)) CompilationUtils.AssertNoErrors(compilation1) End Sub Public Sub BC42020WRN_ObjectAssumedVar1WithStaticLocal() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , New VisualBasicCompilationOptions(OutputKind.ConsoleApplication).WithOptionInfer(True).WithOptionStrict(OptionStrict.Custom)) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) compilation1 = compilation1.WithOptions(New VisualBasicCompilationOptions(OutputKind.ConsoleApplication).WithOptionInfer(True).WithOptionStrict(OptionStrict.Off)) CompilationUtils.AssertNoErrors(compilation1) compilation1 = compilation1.WithOptions(New VisualBasicCompilationOptions(OutputKind.ConsoleApplication).WithOptionInfer(True).WithOptionStrict(OptionStrict.On)) CompilationUtils.AssertTheseDiagnostics(compilation1, ) End Sub Public Sub ValidTypeNameAsVariableNameInAssignment() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) CompilationUtils.AssertTheseDiagnostics(compilation, ) End Sub Public Sub BC30209ERR_StrictDisallowImplicitObject() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , TestOptions.ReleaseDll.WithOptionInfer(True).WithOptionStrict(OptionStrict.On)) CompilationUtils.AssertTheseDiagnostics(compilation1, ) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , TestOptions.ReleaseExe.WithOptionInfer(True).WithOptionStrict(OptionStrict.On)) CompilationUtils.AssertTheseDiagnostics(compilation2, ) compilation2 = compilation2.WithOptions(New VisualBasicCompilationOptions(OutputKind.ConsoleApplication).WithOptionInfer(False).WithOptionStrict(OptionStrict.On)) CompilationUtils.AssertTheseDiagnostics(compilation2, ) End Sub Public Sub BC30209ERR_StrictDisallowImplicitObjectWithStaticLocals() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , New VisualBasicCompilationOptions(OutputKind.ConsoleApplication).WithOptionInfer(True).WithOptionStrict(OptionStrict.On)) CompilationUtils.AssertTheseDiagnostics(compilation1, ) End Sub Public Sub BC42021WRN_ObjectAssumed1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , TestOptions.ReleaseExe.WithOptionStrict(OptionStrict.Custom).WithOptionInfer(True)) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) compilation1 = compilation1.WithOptions(New VisualBasicCompilationOptions(OutputKind.ConsoleApplication).WithOptionStrict(OptionStrict.Off).WithOptionInfer(True)) CompilationUtils.AssertNoErrors(compilation1) End Sub Public Sub BC30210ERR_StrictDisallowsImplicitProc_4() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , New VisualBasicCompilationOptions(OutputKind.ConsoleApplication).WithOptionStrict(OptionStrict.On).WithOptionInfer(True)) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' vbc Module1.vb /target:library /noconfig /optionstrict:custom Public Sub BC42022WRN_ObjectAssumedProperty1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , TestOptions.ReleaseDll.WithOptionStrict(OptionStrict.Custom)) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub ' EDMAURER: tested elsewhere ' ' Public Sub BC42102WRN_ComClassPropertySetObject1() ' Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ' ' Public Class Class1 ' Public WriteOnly Property prop2(ByVal x As String) As Object ' Set(ByVal Value As Object) ' End Set ' End Property ' End Class ' ]]> ' ) ' Dim expectedErrors1 = ' CompilationUtils.AssertTheseDeclarationErrors(compilation1, expectedErrors1) ' End Sub Public Sub BC42309WRN_XMLDocCrefAttributeNotFound1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Class E End Class ]]> ) CompilationUtils.AssertTheseDiagnostics(compilation1, ) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlib( Class E End Class ]]> , parseOptions:=VisualBasic.VisualBasicParseOptions.Default.WithDocumentationMode(DocumentationMode.Diagnose)) Dim expectedErrors = ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDiagnostics(compilation2, expectedErrors) End Sub Public Sub BC42310WRN_XMLMissingFileOrPathAttribute1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Class E End Class ]]> ) CompilationUtils.AssertTheseDiagnostics(compilation1, ) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlib( Class E End Class ]]> , parseOptions:=VisualBasic.VisualBasicParseOptions.Default.WithDocumentationMode(DocumentationMode.Diagnose)) Dim expectedErrors = ~~~~~~~~~~ BC42310: XML comment tag 'include' must have a 'path' attribute. XML comment will be ignored. ''' ~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDiagnostics(compilation2, expectedErrors) End Sub Public Sub BC42312WRN_XMLDocWithoutLanguageElement() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Get Return "hello" End Get End Property End Class ]]> ) CompilationUtils.AssertTheseDiagnostics(compilation1, ) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlib( Get Return "hello" End Get End Property End Class ]]> , parseOptions:=VisualBasic.VisualBasicParseOptions.Default.WithDocumentationMode(DocumentationMode.Diagnose)) CompilationUtils.AssertTheseDiagnostics(compilation2, ~~~~~~~~~~~ BC42304: XML documentation parse error: Element is missing an end tag. XML comment will be ignored. ''' ~~~~~~~~~ BC42304: XML documentation parse error: '>' expected. XML comment will be ignored. ''' ~ BC42304: XML documentation parse error: Expected beginning '<' for an XML tag. XML comment will be ignored. ''' ~ ]]> ) End Sub Public Sub BC42313WRN_XMLDocReturnsOnWriteOnlyProperty() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( WriteOnly Property quoteForTheDay() As String set End set End Property End Class ]]> ) CompilationUtils.AssertTheseDiagnostics(compilation1, ) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlib( WriteOnly Property quoteForTheDay() As String set End set End Property End Class ]]> , parseOptions:=VisualBasicParseOptions.Default.WithDocumentationMode(DocumentationMode.Diagnose)) Dim expectedErrors = ~~~~~~~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDiagnostics(compilation2, expectedErrors) End Sub Public Sub BC42314WRN_XMLDocOnAPartialType() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ''' ''' partial Class E End Class ''' ''' ''' partial Class E End Class ''' ''' ''' partial Interface I End Interface ''' ''' ''' partial Interface I End Interface ''' ''' ''' partial Module M End Module ''' ''' ''' partial Module M End Module ]]> ) CompilationUtils.AssertTheseDiagnostics(compilation1, ) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ''' ''' partial Class E End Class ''' ''' ''' partial Class E End Class ''' 3 ''' ''' partial Interface I End Interface ''' 4 ''' ''' partial Interface I End Interface ''' 5 ''' ''' partial Module M End Module ''' 6 ''' ''' partial Module M End Module ]]> , parseOptions:=VisualBasicParseOptions.Default.WithDocumentationMode(DocumentationMode.Diagnose)) Dim expectedErrors = ~~~~~~~~~~~ BC42314: XML comment cannot be applied more than once on a partial class. XML comments for this class will be ignored. ''' ~~~~~~~~~~~ BC42314: XML comment cannot be applied more than once on a partial interface. XML comments for this interface will be ignored. ''' 3 ~~~~~~~~~~~~~ BC42314: XML comment cannot be applied more than once on a partial interface. XML comments for this interface will be ignored. ''' 4 ~~~~~~~~~~~~~ BC42314: XML comment cannot be applied more than once on a partial module. XML comments for this module will be ignored. ''' 5 ~~~~~~~~~~~~~ BC42314: XML comment cannot be applied more than once on a partial module. XML comments for this module will be ignored. ''' 6 ~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDiagnostics(compilation2, expectedErrors) End Sub Public Sub BC42317WRN_XMLDocBadGenericParamTag2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( typeparam E1 ''' summary - E1 ''' remarks - E1 Sub E1(Of T)(ByVal p As X) End Sub End Class ]]> ) CompilationUtils.AssertTheseDiagnostics(compilation1, ) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlib( typeparam E1 ''' summary - E1 ''' remarks - E1 Sub E1(Of T)(ByVal p As X) End Sub End Class ]]> , parseOptions:=VisualBasicParseOptions.Default.WithDocumentationMode(DocumentationMode.Diagnose)) Dim expectedErrors = typeparam E1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDiagnostics(compilation2, expectedErrors) End Sub Public Sub BC42318WRN_XMLDocGenericParamTagWithoutName() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( typeparam E1 Sub E1(Of T)(ByVal p As X) End Sub End Class ]]> ) CompilationUtils.AssertTheseDiagnostics(compilation1, ) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlib( typeparam E1 Sub E1(Of T)(ByVal p As X) End Sub End Class ]]> , parseOptions:=VisualBasicParseOptions.Default.WithDocumentationMode(DocumentationMode.Diagnose)) Dim expectedErrors = typeparam E1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDiagnostics(compilation2, expectedErrors) End Sub Public Sub BC42319WRN_XMLDocExceptionTagWithoutCRef() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( Sub Test() End Sub End Class ]]> ) CompilationUtils.AssertTheseDiagnostics(compilation1, ) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlib( Sub Test() End Sub End Class ]]> , parseOptions:=VisualBasicParseOptions.Default.WithDocumentationMode(DocumentationMode.Diagnose)) Dim expectedErrors = ~~~~~~~~~~~~~~~~~~~~~~~ ]]> CompilationUtils.AssertTheseDiagnostics(compilation2, expectedErrors) End Sub Public Sub BC42333WRN_VarianceDeclarationAmbiguous3() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntimeAndReferences( , XmlReferences) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub ' vbc Module1.vb /target:library /noconfig /optionstrict:custom Public Sub BC42347WRN_MissingAsClauseinFunction() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , New VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary, optionStrict:=OptionStrict.Custom)) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub #End Region ' Check that errors are reported for type parameters. Public Sub TypeParameterErrors() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub 'Check that errors are reported for multiple type arguments Public Sub MultipleTypeArgumentErrors() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub ' Check that errors are reported for duplicate option statements in a single file. Public Sub BC30225ERR_DuplicateOption1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDiagnostics(compilation, expectedErrors) End Sub Public Sub BC31393ERR_ExpressionHasTheTypeWhichIsARestrictedType() CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ).VerifyDiagnostics() End Sub ' Check that errors are reported for import statements in a single file. Public Sub ImportErrors() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors = CompilationUtils.AssertTheseDiagnostics(compilation, expectedErrors) End Sub ' Check that errors are reported for import statements in a single file. Public Sub ProjectImportErrors() Dim diagnostics As ImmutableArray(Of Diagnostic) = Nothing Dim globalImports = GlobalImport.Parse({ "N1(Of String)", "A = N1", "B = N1", "N1.M1", "N1.M1", "A = N1.N2.C", "N3", "N1.N2", "N1.Gen(Of C)", "N1.Gen(Of Integer, String)", "System$.Collections%", "D$ = System.Collections", "N3", "System.Cheesecake.Frosting" }, diagnostics) Assert.NotEqual(diagnostics, Nothing) CompilationUtils.AssertTheseDiagnostics(diagnostics, ) ' only include the imports with correct syntax: Dim options = TestOptions.ReleaseDll.WithGlobalImports(globalImports) Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( , options) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub ModifierErrorsInsideNamespace() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub ModifierErrorsInsideInterface() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub ' Checks for accessibility across partial types Public Sub ModifierErrorsAcrossPartialTypes() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors2 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation2, expectedErrors2) End Sub ' Checks for missing partial on classes Public Sub ModifierWarningsAcrossPartialTypes() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = ', but are being merged because one of them is declared partial. Class cc1 ~~~ BC40046: class 'cC1' and partial class 'Cc1' conflict in namespace '', but are being merged because one of them is declared partial. Class cC1 ~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors2 = '. Class cC1 ~~~ BC30179: class 'Cc1' and class 'cc1' conflict in namespace ''. Class Cc1 ~~~ ]]> CompilationUtils.AssertTheseDeclarationDiagnostics(compilation2, expectedErrors2) End Sub Public Sub ErrorTypeNotDefineType() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim errs = compilation.GetDeclarationDiagnostics() Assert.Equal(1, errs.Length()) Dim err = DirectCast(errs.Single(), Diagnostic) Assert.Equal(DirectCast(ERRID.ERR_UndefinedType1, Integer), err.Code) Dim classA = DirectCast(compilation.GlobalNamespace.GetTypeMembers("A").Single(), NamedTypeSymbol) Dim fsym = DirectCast(classA.GetMembers()(1), FieldSymbol) Dim sym = fsym.Type Assert.Equal(SymbolKind.ErrorType, sym.Kind) Assert.Equal("B", sym.Name) Assert.Null(sym.ContainingAssembly) Assert.Null(sym.ContainingSymbol) Assert.Equal(Accessibility.Public, sym.DeclaredAccessibility) Assert.False(sym.IsShared) Assert.False(sym.IsMustOverride) Assert.False(sym.IsNotOverridable) Assert.False(sym.IsValueType) Assert.True(sym.IsReferenceType) Assert.Equal(0, sym.Interfaces.Length()) Assert.Null(sym.BaseType) Assert.Equal("B", DirectCast(sym, ErrorTypeSymbol).ConstructedFrom.ToTestDisplayString()) Assert.Equal(0, sym.GetAttributes().Length()) ' Enumerable.Empty() Assert.Equal(0, sym.GetMembers().Length()) ' Enumerable.Empty() Assert.Equal(0, sym.GetMembers(String.Empty).Length()) Assert.Equal(0, sym.GetTypeMembers().Length()) ' Enumerable.Empty() Assert.Equal(0, sym.GetTypeMembers(String.Empty).Length()) Assert.Equal(0, sym.GetTypeMembers(String.Empty, 0).Length()) End Sub Public Sub AccessBaseClassThroughNestedClass() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) End Sub Public Sub AccessBaseClassThroughNestedClass2() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) End Sub Public Sub AccessBaseClassThroughNestedClass3() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) End Sub Public Sub AccessBaseClassThroughNestedClass4() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) End Sub Public Sub AccessBaseClassThroughNestedClass5() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) End Sub Public Sub AccessBaseClassThroughNestedClass6() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) End Sub Public Sub AccessBaseClassThroughNestedClass7() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) End Sub Public Sub AccessBaseClassThroughNestedClass8() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) End Sub Public Sub AccessBaseClassThroughNestedClass9() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) End Sub Public Sub AccessBaseClassThroughNestedClassA() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) End Sub Public Sub AccessInterfaceThroughNestedClass() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertNoErrors(compilation) End Sub Public Sub AccessBaseClassThroughNestedClassSemantic_1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) ' resolve X from 'Inherits B.C.X' first, then 'Inherits A' Dim tree = compilation.SyntaxTrees(0) Dim model = compilation.GetSemanticModel(tree) model.GetSemanticInfoSummary(CType(tree.FindNodeOrTokenByKind(SyntaxKind.IdentifierToken, 6).Parent, ExpressionSyntax)) model.GetSemanticInfoSummary(CType(tree.FindNodeOrTokenByKind(SyntaxKind.IdentifierToken, 8).Parent, ExpressionSyntax)) End Sub Public Sub AccessBaseClassThroughNestedClassSemantic_2() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) ' resolve 'Inherits A', then X from 'Inherits B.C.X' first Dim tree = compilation.SyntaxTrees(0) Dim model = compilation.GetSemanticModel(tree) model.GetSemanticInfoSummary(CType(tree.FindNodeOrTokenByKind(SyntaxKind.IdentifierToken, 8).Parent, ExpressionSyntax)) model.GetSemanticInfoSummary(CType(tree.FindNodeOrTokenByKind(SyntaxKind.IdentifierToken, 6).Parent, ExpressionSyntax)) End Sub Public Sub AccessInterfaceThroughNestedClassSemantic_1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) ' resolve X from 'Inherits B.C.X' first, then 'Implements A' Dim tree = compilation.SyntaxTrees(0) Dim model = compilation.GetSemanticModel(tree) model.GetSemanticInfoSummary(CType(tree.FindNodeOrTokenByKind(SyntaxKind.IdentifierToken, 6).Parent, ExpressionSyntax)) model.GetSemanticInfoSummary(CType(tree.FindNodeOrTokenByKind(SyntaxKind.IdentifierToken, 8).Parent, ExpressionSyntax)) End Sub Public Sub AccessInterfaceThroughNestedClassSemantic_2() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) ' resolve 'Inherits A', then X from 'Implements B.C.X' first Dim tree = compilation.SyntaxTrees(0) Dim model = compilation.GetSemanticModel(tree) model.GetSemanticInfoSummary(CType(tree.FindNodeOrTokenByKind(SyntaxKind.IdentifierToken, 8).Parent, ExpressionSyntax)) model.GetSemanticInfoSummary(CType(tree.FindNodeOrTokenByKind(SyntaxKind.IdentifierToken, 6).Parent, ExpressionSyntax)) End Sub Public Sub InterfaceModifierErrors() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BaseClassErrors1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BaseClassErrors2a() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub BaseClassErrors2b() ' There is a race known in base type detection For i = 0 To 50 Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) Next End Sub Public Sub BaseClassErrors2c() ' There is a race known in base type detection For i = 0 To 50 Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) Next End Sub Public Sub BaseClassErrors2d() ' There is a race known in base type detection For i = 0 To 50 Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) Next End Sub Public Sub BaseClassErrors2e() ' There is a race known in base type detection For i = 0 To 50 Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) Next End Sub Public Sub BaseClassErrors2f() ' There is a race known in base type detection For i = 0 To 50 Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) Next End Sub Public Sub BaseClassErrors2g() ' There is a race known in base type detection For i = 0 To 50 Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, ) Next End Sub Public Sub FieldErrors1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub MethodErrors1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub MethodErrorsInInNotInheritableClass() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub MethodErrorsInInterfaces1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub ErrorTypeSymbol_DefaultMember_CodeCoverageItems() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim errs = compilation.GetDeclarationDiagnostics() Assert.Equal(1, Enumerable.Count(Of Diagnostic)(errs)) Dim err As Diagnostic = Enumerable.Single(Of Diagnostic)(errs) Assert.Equal(&H7532, err.Code) Dim fieldSymb As FieldSymbol = DirectCast(compilation.GlobalNamespace.GetTypeMembers("A").Single.GetMembers.Item(1), FieldSymbol) Dim symbType As TypeSymbol = fieldSymb.Type Dim errTypeSym As ErrorTypeSymbol = DirectCast(symbType, ErrorTypeSymbol) Assert.Equal(SymbolKind.ErrorType, errTypeSym.Kind) Assert.Equal("B", errTypeSym.Name) Assert.Null(errTypeSym.ContainingAssembly) Assert.Null(errTypeSym.ContainingSymbol) Assert.Equal(Accessibility.Public, errTypeSym.DeclaredAccessibility) Assert.False(errTypeSym.IsShared) Assert.False(errTypeSym.IsMustOverride) Assert.False(errTypeSym.IsNotOverridable) Assert.False(errTypeSym.IsValueType) Assert.True(errTypeSym.IsReferenceType) Assert.Equal(SpecializedCollections.EmptyCollection(Of String), errTypeSym.MemberNames) Assert.Equal(ImmutableArray.Create(Of Symbol)(), errTypeSym.GetMembers) Assert.Equal(ImmutableArray.Create(Of Symbol)(), errTypeSym.GetMembers("B")) Assert.Equal(ImmutableArray.Create(Of NamedTypeSymbol)(), errTypeSym.GetTypeMembers) Assert.Equal(ImmutableArray.Create(Of NamedTypeSymbol)(), errTypeSym.GetTypeMembers("B")) Assert.Equal(ImmutableArray.Create(Of NamedTypeSymbol)(), errTypeSym.GetTypeMembers("B", 1)) Assert.Equal(TypeKind.Error, errTypeSym.TypeKind) Assert.Equal(ImmutableArray.Create(Of Location)(), errTypeSym.Locations) Assert.Equal(ImmutableArray.Create(Of SyntaxReference)(), errTypeSym.DeclaringSyntaxReferences) Assert.Equal(0, errTypeSym.Arity) Assert.Throws(Of InvalidOperationException)(Sub() Dim tmp = errTypeSym.EnumUnderlyingType End Sub) Assert.Equal("B", errTypeSym.Name) Assert.Equal(0, errTypeSym.TypeArguments.Length) Assert.Equal(0, errTypeSym.TypeParameters.Length) Assert.Equal(errTypeSym.CandidateSymbols.Length, errTypeSym.IErrorTypeSymbol_CandidateSymbols.Length) End Sub Public Sub ConstructorErrors1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDiagnostics(compilation, expectedErrors) End Sub Public Sub SharedConstructorErrors1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) Dim expectedErrors = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation, expectedErrors) End Sub Public Sub ParameterErrors() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors = CompilationUtils.AssertTheseDiagnostics(compilation, expectedErrors) End Sub Public Sub MoreParameterErrors() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) CompilationUtils.AssertTheseDiagnostics(compilation, ) End Sub Public Sub LocalDeclarationSameAsFunctionNameError() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) CompilationUtils.AssertTheseDiagnostics(compilation, ) End Sub Public Sub DuplicateLocalDeclarationError() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) CompilationUtils.AssertTheseDiagnostics(compilation, ) End Sub Public Sub LocalDeclarationTypeParameterError() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) CompilationUtils.AssertTheseDiagnostics(compilation, ) End Sub Public Sub LocalDeclarationParameterError() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) CompilationUtils.AssertTheseDiagnostics(compilation, ) End Sub ' Checks for duplicate type parameters Public Sub DuplicateMethodTypeParameterErrors() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub DuplicatedNameWithDifferentCases() Dim compilation = CreateCompilationWithMscorlibAndVBRuntime( ) Dim globalNS = compilation.SourceModule.GlobalNamespace Dim myMod = DirectCast(globalNS.GetMembers("module1").Single(), NamedTypeSymbol) ' no merge for non-namespace/type members Dim mem1 = myMod.GetMembers("S1") Assert.Equal(3, mem1.Length) ' 3 mem1 = myMod.GetMembers("myfunc") Assert.Equal(2, mem1.Length) ' 2 Dim myNS = DirectCast(globalNS.GetMembers("ns").Single(), NamespaceSymbol) Dim types = myNS.GetMembers("aaa") Assert.Equal(1, types.Length) Dim type1 = DirectCast(types.First(), NamedTypeSymbol) ' no merge for fields Dim mem2 = type1.GetMembers("bbb") Assert.Equal(3, mem2.Length) ' 3 Dim mem3 = type1.GetMembers("sss") Assert.Equal(2, mem3.Length) ' 2 Dim mem4 = type1.GetMembers("St1") Assert.Equal(1, mem4.Length) Dim type2 = DirectCast(mem4.First(), NamedTypeSymbol) ' from both St1 Dim mem5 = type2.GetMembers("Ch1") Assert.Equal(3, mem2.Length) ' 3 Dim errs = compilation.GetDeclarationDiagnostics() ' Native compilers 9 errors Assert.True(errs.Length > 6, "Contain Decl Errors") End Sub Public Sub DuplicatedTypes() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( End Sub End Module 'COMPILEERROR: BC30179, "Module1" Module Module1 Sub sub1() Dim element1 = End Sub End Module Namespace GenArityErr001 Public Structure ga001Str2 (Of T As Integer) Dim i As Integer End Structure ' BC30179: Name conflict ' COMPILEERROR: BC30179, "ga001Str2" Public Structure ga001Str2 (Of X As New) Dim i As Integer End Structure End Namespace ]]> ) Dim globalNS = compilation.Assembly.GlobalNamespace Dim modOfNS = DirectCast(globalNS.GetMembers("Module1").Single(), NamedTypeSymbol) Dim mem1 = DirectCast(modOfNS.GetMembers().First(), MethodSymbol) Assert.Equal("sub1", mem1.Name) Dim ns = DirectCast(globalNS.GetMembers("GenArityErr001").First(), NamespaceSymbol) Dim type1 = DirectCast(ns.GetMembers("ga001Str2").First(), NamedTypeSymbol) Assert.NotEmpty(type1.GetMembers().AsEnumerable()) End Sub Public Sub InvalidPartialTypes() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim globalNS = compilation.Assembly.GlobalNamespace Dim ns = DirectCast(globalNS.GetMembers("PartialStruct118").Single(), NamespaceSymbol) Dim type1 = DirectCast(ns.GetTypeMembers("teststruct").First(), NamedTypeSymbol) Assert.Equal("teststruct", type1.Name) Assert.NotEmpty(type1.GetMembers().AsEnumerable) End Sub Public Sub ModuleWithTypeParameters() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim globalNS = compilation.SourceModule.GlobalNamespace Dim ns = DirectCast(globalNS.GetMembers("Regression139822").Single(), NamespaceSymbol) Dim myMod = DirectCast(ns.GetMembers("Module1").SingleOrDefault(), NamedTypeSymbol) Assert.Equal(0, myMod.TypeParameters.Length) Assert.Equal(0, myMod.Arity) End Sub Public Sub Bug4577() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) CompilationUtils.AssertTheseDiagnostics(compilation, ) End Sub Public Sub Bug4054() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) CompilationUtils.AssertTheseDiagnostics(compilation, ) End Sub Public Sub ReportErrorTypeCharacterInTypeNameDeclaration() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) CompilationUtils.AssertTheseDiagnostics(compilation, ) End Sub Public Sub ReportErrorTypeCharacterInTypeName() Dim compilation = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( ) CompilationUtils.AssertTheseDiagnostics(compilation, ) End Sub Public Sub BC31538ERR_FriendAssemblyBadAccessOverride2() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlibAndReferences( , {New VisualBasicCompilationReference(compilation1)}) CompilationUtils.AssertTheseDiagnostics(compilation2, ) End Sub ' Note that the candidate symbols infrastructure on error types is tested heavily in ' the SemanticModel tests. The following tests just make sure the public ' API is working correctly. Public Sub ErrorTypeCandidateSymbols1() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim classA = DirectCast(compilation.GlobalNamespace.GetTypeMembers("A").Single(), NamedTypeSymbol) Dim fsym = DirectCast(classA.GetMembers("n").First(), FieldSymbol) Dim typ = fsym.Type Assert.Equal(SymbolKind.ErrorType, typ.Kind) Assert.Equal("B", typ.Name) Dim errortype = DirectCast(typ, ErrorTypeSymbol) Assert.Equal(CandidateReason.None, errortype.CandidateReason) Assert.Equal(0, errortype.CandidateSymbols.Length) End Sub Public Sub ErrorTypeCandidateSymbols2() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim classA = DirectCast(compilation.GlobalNamespace.GetTypeMembers("A").Single(), NamedTypeSymbol) Dim classB = DirectCast(DirectCast(compilation.GlobalNamespace.GetTypeMembers("C").Single(), NamedTypeSymbol).GetTypeMembers("B").Single, NamedTypeSymbol) Dim fsym = DirectCast(classA.GetMembers("n").First(), FieldSymbol) Dim typ = fsym.Type Assert.Equal(SymbolKind.ErrorType, typ.Kind) Assert.Equal("B", typ.Name) Dim errortyp = DirectCast(typ, ErrorTypeSymbol) Assert.Equal(CandidateReason.Inaccessible, errortyp.CandidateReason) Assert.Equal(1, errortyp.CandidateSymbols.Length) Assert.Equal(classB, errortyp.CandidateSymbols(0)) End Sub Public Sub ErrorTypeCandidateSymbols3() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim classA = DirectCast(compilation.GlobalNamespace.GetTypeMembers("A").Single(), NamedTypeSymbol) Dim classB1 = DirectCast(DirectCast(compilation.GlobalNamespace.GetMembers("N1").Single(), NamespaceSymbol).GetTypeMembers("B").Single, NamedTypeSymbol) Dim classB2 = DirectCast(DirectCast(compilation.GlobalNamespace.GetMembers("N2").Single(), NamespaceSymbol).GetTypeMembers("B").Single, NamedTypeSymbol) Dim fsym = DirectCast(classA.GetMembers("n").First(), FieldSymbol) Dim typ = fsym.Type Assert.Equal(SymbolKind.ErrorType, typ.Kind) Assert.Equal("B", typ.Name) Dim errortyp = DirectCast(typ, ErrorTypeSymbol) Assert.Equal(CandidateReason.Ambiguous, errortyp.CandidateReason) Assert.Equal(2, errortyp.CandidateSymbols.Length) Assert.True((classB1 = errortyp.CandidateSymbols(0) AndAlso classB2 = errortyp.CandidateSymbols(1)) OrElse (classB2 = errortyp.CandidateSymbols(0) AndAlso classB1 = errortyp.CandidateSymbols(1)), "should have B1 and B2 in some order") End Sub Public Sub TypeArgumentOfFriendType() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( Friend Class ImmutableStack(Of T) End Class ]]> ) Dim compilation2 = CompilationUtils.CreateCompilationWithMscorlibAndReferences( , {New VisualBasicCompilationReference(compilation)}) Assert.Empty(compilation2.GetDiagnostics()) End Sub Public Sub ProtectedTypeExposureGeneric() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( ) Dim diags = compilation.GetDiagnostics() Assert.Empty(diags) End Sub Public Sub Bug574771() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub Bug578723() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub Bug783920() Dim comp1 = CreateCompilationWithMscorlib( , TestOptions.ReleaseDll) Dim comp2 = CreateCompilationWithMscorlibAndReferences( , {New VisualBasicCompilationReference(comp1)}, TestOptions.ReleaseDll) Dim source3 = Public Class Test End Class ]]> Dim expected = ~~~~~~~~~~~~ ]]> Dim comp4 = CreateCompilationWithMscorlibAndReferences(source3, {comp2.EmitToImageReference()}, TestOptions.ReleaseDll) AssertTheseDiagnostics(comp4, expected) Dim comp3 = CreateCompilationWithMscorlibAndReferences(source3, {New VisualBasicCompilationReference(comp2)}, TestOptions.ReleaseDll) AssertTheseDiagnostics(comp3, expected) End Sub Public Sub BC30166ERR_ExpectedNewableClass1() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime( Class test End Class Sub AttrRegress006() 'COMPILEERROR: BC30166, "Test" EDMAURER no longer giving this error. Dim c As New test End Sub End Module]]> ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub Bug528709() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub Bug529327() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub Bug531353() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDiagnostics(compilation1, expectedErrors1) End Sub Public Sub Bug1068209_01() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub Bug1068209_02() Dim compilation1 = CompilationUtils.CreateCompilationWithMscorlib( ) Dim expectedErrors1 = CompilationUtils.AssertTheseDeclarationDiagnostics(compilation1, expectedErrors1) End Sub Public Sub NoObsoleteDiagnosticsForProjectLevelImports_01() Dim options = TestOptions.ReleaseDll.WithGlobalImports(GlobalImport.Parse({"GlobEnumsClass"})) Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( Class GlobEnumsClass Public Enum xEmailMsg Option1 Option2 End Enum End Class Class Account Property Status() As xEmailMsg End Class ]]> , options) CompileAndVerify(compilation).VerifyDiagnostics() End Sub Public Sub NoObsoleteDiagnosticsForProjectLevelImports_02() Dim compilation = CompilationUtils.CreateCompilationWithMscorlib( Class GlobEnumsClass Public Enum xEmailMsg Option1 Option2 End Enum End Class Class Account Property Status() As xEmailMsg End Class ]]> , TestOptions.ReleaseDll) compilation.AssertTheseDiagnostics( BC40008: 'GlobEnumsClass' is obsolete. Imports GlobEnumsClass ~~~~~~~~~~~~~~ ) End Sub Public Sub MustOverrideInScript() Dim source = Dim comp = CreateCompilationWithMscorlib45( {VisualBasicSyntaxTree.ParseText(source.Value, TestOptions.Script)}, references:={SystemCoreRef}) comp.AssertTheseDiagnostics( BC30607: 'NotInheritable' classes cannot have members declared 'MustOverride'. Friend MustOverride Function F() As Object ~~~~~~~~~~~~ BC30607: 'NotInheritable' classes cannot have members declared 'MustOverride'. Friend MustOverride ReadOnly Property P ~~~~~~~~~~~~ ) End Sub Public Sub MustOverrideInInteractive() Dim source = Dim submission = VisualBasicCompilation.CreateScriptCompilation( "s0.dll", syntaxTree:=Parse(source.Value, TestOptions.Script), references:={MscorlibRef, SystemCoreRef}) submission.AssertTheseDiagnostics( BC30607: 'NotInheritable' classes cannot have members declared 'MustOverride'. Friend MustOverride Function F() As Object ~~~~~~~~~~~~ BC30607: 'NotInheritable' classes cannot have members declared 'MustOverride'. Friend MustOverride ReadOnly Property P ~~~~~~~~~~~~ ) End Sub End Class End Namespace