diff --git a/src/Compilers/CSharp/Portable/BoundTree/Expression.cs b/src/Compilers/CSharp/Portable/BoundTree/Expression.cs index e9aa2cf0f5d4113b017fd479e5e4008481c1faf1..10e7e725bbb5dafed2cb914543fd82bca625a956 100644 --- a/src/Compilers/CSharp/Portable/BoundTree/Expression.cs +++ b/src/Compilers/CSharp/Portable/BoundTree/Expression.cs @@ -163,7 +163,7 @@ internal static ImmutableArray DeriveArguments(ImmutableArray= boundArguments.Length` when the arguments are specified in parameter order, and no argument is provided at `parameterIndex`. if (argumentIndex == -1 || argumentIndex >= boundArguments.Length) { @@ -230,7 +230,7 @@ private static IArgument DeriveArgument(int parameterIndex, int argumentIndex, I // An argument that is an array of the appropriate type is not a params argument. (boundArguments.Length > argumentIndex + 1 || argument.Type.TypeKind != TypeKind.Array || - !argument.Type.Equals(parameters[parameters.Length - 1].Type, true))) + !argument.Type.Equals(parameters[parameters.Length - 1].Type, ignoreCustomModifiersAndArraySizesAndLowerBounds:true))) { return new Argument(ArgumentKind.ParamArray, parameters[parameters.Length - 1], CreateParamArray(parameters[parameters.Length - 1], boundArguments, argumentIndex)); } @@ -449,36 +449,32 @@ ImmutableArray IObjectCreationExpression.MemberInitializers return (ImmutableArray)s_memberInitializersMappings.GetValue(this, objectCreationExpression => { - BoundExpression initializer = this.InitializerExpressionOpt; - if (initializer != null) + var objectInitializerExpression = this.InitializerExpressionOpt as BoundObjectInitializerExpression; + if (objectInitializerExpression != null) { - var objectInitializerExpression = initializer as BoundObjectInitializerExpression; - if (objectInitializerExpression != null) + var builder = ArrayBuilder.GetInstance(objectInitializerExpression.Initializers.Length); + foreach (var memberAssignment in objectInitializerExpression.Initializers) { - var builder = ArrayBuilder.GetInstance(objectInitializerExpression.Initializers.Length); - foreach (var memberAssignment in objectInitializerExpression.Initializers) + var assignment = memberAssignment as BoundAssignmentOperator; + var leftSymbol = (assignment?.Left as BoundObjectInitializerMember)?.MemberSymbol; + + if (leftSymbol == null) { - var assignment = memberAssignment as BoundAssignmentOperator; - var leftSymbol = (assignment?.Left as BoundObjectInitializerMember)?.MemberSymbol; - - if (leftSymbol == null) - { - continue; - } - - switch (leftSymbol.Kind) - { - case SymbolKind.Field: - builder.Add(new FieldInitializer(assignment.Syntax, (IFieldSymbol)leftSymbol, assignment.Right)); - break; - case SymbolKind.Property: - builder.Add(new PropertyInitializer(assignment.Syntax, ((IPropertySymbol)leftSymbol).SetMethod, assignment.Right)); - break; - } + continue; + } + + switch (leftSymbol.Kind) + { + case SymbolKind.Field: + builder.Add(new FieldInitializer(assignment.Syntax, (IFieldSymbol)leftSymbol, assignment.Right)); + break; + case SymbolKind.Property: + builder.Add(new PropertyInitializer(assignment.Syntax, ((IPropertySymbol)leftSymbol).SetMethod, assignment.Right)); + break; } - return builder.ToImmutableAndFree(); } - } + return builder.ToImmutableAndFree(); + } return ImmutableArray.Empty; }); } @@ -691,7 +687,7 @@ ITypeSymbol IArrayCreationExpression.ElementType ImmutableArray IArrayCreationExpression.DimensionSizes => this.Bounds.As(); - IArrayInitializer IArrayCreationExpression.Initializer => (IArrayInitializer)(this.InitializerOpt); + IArrayInitializer IArrayCreationExpression.Initializer => this.InitializerOpt; protected override OperationKind ExpressionKind => OperationKind.ArrayCreationExpression; } diff --git a/src/Compilers/CSharp/Portable/BoundTree/Statement.cs b/src/Compilers/CSharp/Portable/BoundTree/Statement.cs index 4ecc15d21148a8d735ef43b85b45e4fe767c7aae..28ed967860e33934f523138ce33f75a631bd8195 100644 --- a/src/Compilers/CSharp/Portable/BoundTree/Statement.cs +++ b/src/Compilers/CSharp/Portable/BoundTree/Statement.cs @@ -346,16 +346,10 @@ ImmutableArray IVariableDeclarationStatement.Variables { get { - return (ImmutableArray) s_variablesMappings.GetValue(this, + return (ImmutableArray)s_variablesMappings.GetValue(this, multipleDeclarations => - { - var builder = ArrayBuilder.GetInstance(multipleDeclarations.LocalDeclarations.Length); - foreach (var declaration in multipleDeclarations.LocalDeclarations) - { - builder.Add((IVariable)new VariableDeclaration(declaration.LocalSymbol, declaration.InitializerOpt, declaration.Syntax)); - } - return builder.ToImmutableAndFree(); - }); + multipleDeclarations.LocalDeclarations.SelectAsArray(declaration => + (IVariable)new VariableDeclaration(declaration.LocalSymbol, declaration.InitializerOpt, declaration.Syntax))); } } diff --git a/src/Compilers/CSharp/Test/Semantic/Diagnostics/OperationAnalyzerTests.cs b/src/Compilers/CSharp/Test/Semantic/Diagnostics/OperationAnalyzerTests.cs index 1fd5c085ed7e9857ed61f5c889e2468a4ee4bff1..4bd6d8f491924324694f6768d5357c198960dab3 100644 --- a/src/Compilers/CSharp/Test/Semantic/Diagnostics/OperationAnalyzerTests.cs +++ b/src/Compilers/CSharp/Test/Semantic/Diagnostics/OperationAnalyzerTests.cs @@ -300,8 +300,8 @@ public void M6() Diagnostic(InvocationTestAnalyzer.OutOfNumericalOrderArgumentsDescriptor.Id, "1").WithLocation(17, 15), Diagnostic(InvocationTestAnalyzer.OutOfNumericalOrderArgumentsDescriptor.Id, "2").WithLocation(17, 21), Diagnostic(InvocationTestAnalyzer.OutOfNumericalOrderArgumentsDescriptor.Id, "4").WithLocation(17, 33), - Diagnostic(InvocationTestAnalyzer.BigParamarrayArgumentsDescriptor.Id, "M0(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)").WithLocation(19, 9), - Diagnostic(InvocationTestAnalyzer.BigParamarrayArgumentsDescriptor.Id, "M0(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)").WithLocation(20, 9), + Diagnostic(InvocationTestAnalyzer.BigParamArrayArgumentsDescriptor.Id, "M0(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)").WithLocation(19, 9), + Diagnostic(InvocationTestAnalyzer.BigParamArrayArgumentsDescriptor.Id, "M0(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)").WithLocation(20, 9), Diagnostic(InvocationTestAnalyzer.OutOfNumericalOrderArgumentsDescriptor.Id, "3").WithLocation(22, 21), Diagnostic(InvocationTestAnalyzer.UseDefaultArgumentDescriptor.Id, "M3(0)").WithArguments("y").WithLocation(32, 9), Diagnostic(InvocationTestAnalyzer.UseDefaultArgumentDescriptor.Id, "M3(y: null)").WithArguments("x").WithLocation(33, 9), @@ -839,12 +839,12 @@ public void M1() // var e1 = new Foo() { Property2 = 1 }; Diagnostic(ErrorCode.ERR_NoImplicitConv, "1").WithArguments("int", "Bar").WithLocation(24, 42)) .VerifyAnalyzerDiagnostics(new DiagnosticAnalyzer[] { new MemberInitializerTestAnalyzer() }, null, null, false, - Diagnostic(MemberInitializerTestAnalyzer.DoNotUseFieldInitiliazerDescriptor.Id, "Field = 2").WithLocation(19, 30), + Diagnostic(MemberInitializerTestAnalyzer.DoNotUseFieldInitializerDescriptor.Id, "Field = 2").WithLocation(19, 30), Diagnostic(MemberInitializerTestAnalyzer.DoNotUsePropertyInitializerDescriptor.Id, @"Property1 = """"").WithLocation(20, 30), Diagnostic(MemberInitializerTestAnalyzer.DoNotUsePropertyInitializerDescriptor.Id, @"Property1 = """"").WithLocation(21, 30), - Diagnostic(MemberInitializerTestAnalyzer.DoNotUseFieldInitiliazerDescriptor.Id, "Field = 2").WithLocation(21, 46), + Diagnostic(MemberInitializerTestAnalyzer.DoNotUseFieldInitializerDescriptor.Id, "Field = 2").WithLocation(21, 46), Diagnostic(MemberInitializerTestAnalyzer.DoNotUsePropertyInitializerDescriptor.Id, "Property2 = new Bar { Field = true }").WithLocation(22, 30), - Diagnostic(MemberInitializerTestAnalyzer.DoNotUseFieldInitiliazerDescriptor.Id, "Field = true").WithLocation(22, 52), + Diagnostic(MemberInitializerTestAnalyzer.DoNotUseFieldInitializerDescriptor.Id, "Field = true").WithLocation(22, 52), Diagnostic(MemberInitializerTestAnalyzer.DoNotUsePropertyInitializerDescriptor.Id, "Property2 = 1").WithLocation(24, 30)); } @@ -968,10 +968,10 @@ public void M1() .VerifyAnalyzerDiagnostics(new DiagnosticAnalyzer[] { new VariableDeclarationTestAnalyzer() }, null, null, false, Diagnostic(VariableDeclarationTestAnalyzer.TooManyLocalVarDeclarationsDescriptor.Id, "int c1, c2, c3, c4;").WithLocation(9, 9), Diagnostic(VariableDeclarationTestAnalyzer.TooManyLocalVarDeclarationsDescriptor.Id, "C[] d1, d2, d3, d4 = { null, null };").WithLocation(10, 9), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "d4 = { null, null }").WithLocation(10, 25), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "d4 = { null, null }").WithLocation(10, 25), Diagnostic(VariableDeclarationTestAnalyzer.TooManyLocalVarDeclarationsDescriptor.Id, "int e1 = 1, e2, e3, e4 = 10;").WithLocation(11, 9), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "e1 = 1").WithLocation(11, 13), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "e4 = 10").WithLocation(11, 29), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "e1 = 1").WithLocation(11, 13), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "e4 = 10").WithLocation(11, 29), Diagnostic(VariableDeclarationTestAnalyzer.TooManyLocalVarDeclarationsDescriptor.Id, "int f1, f2, f3, ;").WithLocation(12, 9), Diagnostic(VariableDeclarationTestAnalyzer.TooManyLocalVarDeclarationsDescriptor.Id, "int g1, g2, g3, g4 =;").WithLocation(13, 9)); } diff --git a/src/Compilers/Core/CodeAnalysisTest/Diagnostics/OperationTestAnalyzer.cs b/src/Compilers/Core/CodeAnalysisTest/Diagnostics/OperationTestAnalyzer.cs index 237f0c47524efb919e9d4cda9a9bb155d93baf16..eab54203bbba48dddc3a30520677d79f78b3a86a 100644 --- a/src/Compilers/Core/CodeAnalysisTest/Diagnostics/OperationTestAnalyzer.cs +++ b/src/Compilers/Core/CodeAnalysisTest/Diagnostics/OperationTestAnalyzer.cs @@ -429,7 +429,7 @@ public class InvocationTestAnalyzer : DiagnosticAnalyzer /// Diagnostic category "Reliability". private const string ReliabilityCategory = "Reliability"; - public static readonly DiagnosticDescriptor BigParamarrayArgumentsDescriptor = new DiagnosticDescriptor( + public static readonly DiagnosticDescriptor BigParamArrayArgumentsDescriptor = new DiagnosticDescriptor( "BigParamarrayRule", "Big Paramarray", "Paramarray has more than 10 elements", @@ -458,9 +458,9 @@ public sealed override ImmutableArray SupportedDiagnostics { get { - return ImmutableArray.Create(BigParamarrayArgumentsDescriptor, - OutOfNumericalOrderArgumentsDescriptor, - UseDefaultArgumentDescriptor); + return ImmutableArray.Create(BigParamArrayArgumentsDescriptor, + OutOfNumericalOrderArgumentsDescriptor, + UseDefaultArgumentDescriptor); } } @@ -490,7 +490,7 @@ public sealed override void Initialize(AnalysisContext context) { if (initializer.ElementValues.Length > 10) { - Report(operationContext, invocation.Syntax, BigParamarrayArgumentsDescriptor); + Report(operationContext, invocation.Syntax, BigParamArrayArgumentsDescriptor); } foreach (IExpression element in initializer.ElementValues) @@ -609,10 +609,10 @@ public class MemberInitializerTestAnalyzer : DiagnosticAnalyzer /// Diagnostic category "Reliability". private const string ReliabilityCategory = "Reliability"; - public static readonly DiagnosticDescriptor DoNotUseFieldInitiliazerDescriptor = new DiagnosticDescriptor( + public static readonly DiagnosticDescriptor DoNotUseFieldInitializerDescriptor = new DiagnosticDescriptor( "DoNotUseFieldInitializer", "Do Not Use Field Initializer", - "a filed initializer is used for object creation", + "a field initializer is used for object creation", ReliabilityCategory, DiagnosticSeverity.Warning, isEnabledByDefault: true); @@ -628,7 +628,7 @@ public class MemberInitializerTestAnalyzer : DiagnosticAnalyzer /// Gets the set of supported diagnostic descriptors from this analyzer. public sealed override ImmutableArray SupportedDiagnostics { - get { return ImmutableArray.Create(DoNotUseFieldInitiliazerDescriptor, DoNotUsePropertyInitializerDescriptor); } + get { return ImmutableArray.Create(DoNotUseFieldInitializerDescriptor, DoNotUsePropertyInitializerDescriptor); } } public sealed override void Initialize(AnalysisContext context) @@ -640,7 +640,7 @@ public sealed override void Initialize(AnalysisContext context) switch (initializer.MemberInitializerKind) { case MemberInitializerKind.Field: - Report(operationContext, initializer.Syntax, DoNotUseFieldInitiliazerDescriptor); + Report(operationContext, initializer.Syntax, DoNotUseFieldInitializerDescriptor); break; case MemberInitializerKind.Property: Report(operationContext, initializer.Syntax, DoNotUsePropertyInitializerDescriptor); @@ -752,10 +752,10 @@ public class VariableDeclarationTestAnalyzer : DiagnosticAnalyzer DiagnosticSeverity.Warning, isEnabledByDefault: true); - public static readonly DiagnosticDescriptor LocalVarInitialzedDeclarationDescriptor = new DiagnosticDescriptor( - "LocalVarInitialzedDeclaration", - "Local var initialzed at declaration", - "A local variable is imitialized at declaration.", + public static readonly DiagnosticDescriptor LocalVarInitializedDeclarationDescriptor = new DiagnosticDescriptor( + "LocalVarInitializedDeclaration", + "Local var initialized at declaration", + "A local variable is initialized at declaration.", Maintainability, DiagnosticSeverity.Warning, isEnabledByDefault: true); @@ -763,7 +763,7 @@ public class VariableDeclarationTestAnalyzer : DiagnosticAnalyzer /// Gets the set of supported diagnostic descriptors from this analyzer. public sealed override ImmutableArray SupportedDiagnostics { - get { return ImmutableArray.Create(TooManyLocalVarDeclarationsDescriptor, LocalVarInitialzedDeclarationDescriptor); } + get { return ImmutableArray.Create(TooManyLocalVarDeclarationsDescriptor, LocalVarInitializedDeclarationDescriptor); } } public sealed override void Initialize(AnalysisContext context) @@ -781,7 +781,7 @@ public sealed override void Initialize(AnalysisContext context) { if (decl.InitialValue != null && !decl.InitialValue.IsInvalid) { - Report(operationContext, decl.Syntax, LocalVarInitialzedDeclarationDescriptor); + Report(operationContext, decl.Syntax, LocalVarInitializedDeclarationDescriptor); } } }, diff --git a/src/Compilers/Core/Portable/Compilation/Expression.cs b/src/Compilers/Core/Portable/Compilation/Expression.cs index fbc83c6755e61c344bc1c9ee4268447130f88a95..e81f01395784910bf393fc38751a4b2bad4cecd1 100644 --- a/src/Compilers/Core/Portable/Compilation/Expression.cs +++ b/src/Compilers/Core/Portable/Compilation/Expression.cs @@ -317,13 +317,7 @@ private class ArrayInitializer : IArrayInitializer { public ArrayInitializer(ImmutableArray elementValues, SyntaxNode syntax, ITypeSymbol arrayType) { - ArrayBuilder builder = ArrayBuilder.GetInstance(elementValues.Length); - foreach (IExpression element in elementValues) - { - builder.Add(element); - } - - ElementValues = builder.ToImmutableAndFree(); + ElementValues = elementValues; Syntax = syntax; ResultType = arrayType; } diff --git a/src/Compilers/VisualBasic/Portable/BoundTree/Statement.vb b/src/Compilers/VisualBasic/Portable/BoundTree/Statement.vb index e0d17bc5d9146681370c8e060a0533c40d3b1bfa..8d3315d997df421f536169e45270db75f29f1b2d 100644 --- a/src/Compilers/VisualBasic/Portable/BoundTree/Statement.vb +++ b/src/Compilers/VisualBasic/Portable/BoundTree/Statement.vb @@ -90,7 +90,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic End Get End Property - Private Shared CaseElseMappings As New System.Runtime.CompilerServices.ConditionalWeakTable(Of BoundCaseStatement, Object) + Private Shared ReadOnly CaseElseMappings As New System.Runtime.CompilerServices.ConditionalWeakTable(Of BoundCaseStatement, Object) Private ReadOnly Property IClauses As ImmutableArray(Of ICaseClause) Implements ICase.Clauses Get diff --git a/src/Compilers/VisualBasic/Test/Semantic/Diagnostics/OperationAnalyzerTests.vb b/src/Compilers/VisualBasic/Test/Semantic/Diagnostics/OperationAnalyzerTests.vb index df3e34c4d8745b290787930a7dffbbbe0c0c97b4..eea9ed09bfa8d3a6f5df0bfaadb0af1181c254e0 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/Diagnostics/OperationAnalyzerTests.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/Diagnostics/OperationAnalyzerTests.vb @@ -309,8 +309,8 @@ End Class Diagnostic(InvocationTestAnalyzer.OutOfNumericalOrderArgumentsDescriptor.Id, "1").WithLocation(12, 15), Diagnostic(InvocationTestAnalyzer.OutOfNumericalOrderArgumentsDescriptor.Id, "2").WithLocation(12, 21), Diagnostic(InvocationTestAnalyzer.OutOfNumericalOrderArgumentsDescriptor.Id, "4").WithLocation(12, 33), - Diagnostic(InvocationTestAnalyzer.BigParamarrayArgumentsDescriptor.Id, "M0(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)").WithLocation(14, 9), - Diagnostic(InvocationTestAnalyzer.BigParamarrayArgumentsDescriptor.Id, "M0(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)").WithLocation(15, 9), + Diagnostic(InvocationTestAnalyzer.BigParamArrayArgumentsDescriptor.Id, "M0(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)").WithLocation(14, 9), + Diagnostic(InvocationTestAnalyzer.BigParamArrayArgumentsDescriptor.Id, "M0(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)").WithLocation(15, 9), Diagnostic(InvocationTestAnalyzer.OutOfNumericalOrderArgumentsDescriptor.Id, "3").WithLocation(17, 21)) End Sub @@ -823,12 +823,12 @@ End Class Dim comp = CompilationUtils.CreateCompilationWithMscorlibAndVBRuntime(source) comp.VerifyDiagnostics(Diagnostic(ERRID.ERR_ExpectedQualifiedNameInInit, "").WithLocation(20, 32)) comp.VerifyAnalyzerDiagnostics({New MemberInitializerTestAnalyzer}, Nothing, Nothing, False, - Diagnostic(MemberInitializerTestAnalyzer.DoNotUseFieldInitiliazerDescriptor.Id, ".Field = 10").WithLocation(14, 34), + Diagnostic(MemberInitializerTestAnalyzer.DoNotUseFieldInitializerDescriptor.Id, ".Field = 10").WithLocation(14, 34), Diagnostic(MemberInitializerTestAnalyzer.DoNotUsePropertyInitializerDescriptor.Id, ".Prop1 = Nothing").WithLocation(15, 32), - Diagnostic(MemberInitializerTestAnalyzer.DoNotUseFieldInitiliazerDescriptor.Id, ".Field = 10").WithLocation(16, 32), + Diagnostic(MemberInitializerTestAnalyzer.DoNotUseFieldInitializerDescriptor.Id, ".Field = 10").WithLocation(16, 32), Diagnostic(MemberInitializerTestAnalyzer.DoNotUsePropertyInitializerDescriptor.Id, ".Prop1 = Nothing").WithLocation(16, 45), Diagnostic(MemberInitializerTestAnalyzer.DoNotUsePropertyInitializerDescriptor.Id, ".Prop2 = New Bar() With {.Field = True}").WithLocation(17, 32), - Diagnostic(MemberInitializerTestAnalyzer.DoNotUseFieldInitiliazerDescriptor.Id, ".Field = True").WithLocation(17, 57), + Diagnostic(MemberInitializerTestAnalyzer.DoNotUseFieldInitializerDescriptor.Id, ".Field = True").WithLocation(17, 57), Diagnostic(MemberInitializerTestAnalyzer.DoNotUsePropertyInitializerDescriptor.Id, ".Prop1 = 10").WithLocation(19, 34)) End Sub @@ -969,25 +969,25 @@ End Class Diagnostic(ERRID.ERR_UndefinedType1, "UndefType").WithArguments("UndefType").WithLocation(13, 31), Diagnostic(ERRID.ERR_UndefinedType1, "UndefType").WithArguments("UndefType").WithLocation(13, 31)) comp.VerifyAnalyzerDiagnostics({New VariableDeclarationTestAnalyzer}, Nothing, Nothing, False, - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "a1").WithLocation(5, 13), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "a1").WithLocation(5, 13), Diagnostic(VariableDeclarationTestAnalyzer.TooManyLocalVarDeclarationsDescriptor.Id, "Dim b1 As New Integer, b2, b3, b4 As New Foo(1)").WithLocation(6, 9), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "b1").WithLocation(6, 13), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "b2").WithLocation(6, 32), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "b3").WithLocation(6, 36), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "b4").WithLocation(6, 40), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "b1").WithLocation(6, 13), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "b2").WithLocation(6, 32), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "b3").WithLocation(6, 36), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "b4").WithLocation(6, 40), Diagnostic(VariableDeclarationTestAnalyzer.TooManyLocalVarDeclarationsDescriptor.Id, "Dim c1, c2 As Integer, c3, c4 As Foo").WithLocation(7, 9), Diagnostic(VariableDeclarationTestAnalyzer.TooManyLocalVarDeclarationsDescriptor.Id, "Dim e1 As Integer = 10, e2 = {1, 2, 3}, e3, e4 As C").WithLocation(9, 9), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "e1").WithLocation(9, 13), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "e2").WithLocation(9, 33), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "f1").WithLocation(10, 13), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "f2").WithLocation(10, 22), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "e1").WithLocation(9, 13), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "e2").WithLocation(9, 33), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "f1").WithLocation(10, 13), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "f2").WithLocation(10, 22), Diagnostic(VariableDeclarationTestAnalyzer.TooManyLocalVarDeclarationsDescriptor.Id, "Dim h1, h2, , h3 As Integer").WithLocation(11, 9), Diagnostic(VariableDeclarationTestAnalyzer.TooManyLocalVarDeclarationsDescriptor.Id, "Dim i1, i2, i3, i4 As New UndefType").WithLocation(12, 9), Diagnostic(VariableDeclarationTestAnalyzer.TooManyLocalVarDeclarationsDescriptor.Id, "Dim j1, j2, j3, j4 As UndefType").WithLocation(13, 9), Diagnostic(VariableDeclarationTestAnalyzer.TooManyLocalVarDeclarationsDescriptor.Id, "Dim k1 As Integer, k2, k3, k4 As New Foo(1)").WithLocation(14, 9), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "k2").WithLocation(14, 28), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "k3").WithLocation(14, 32), - Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitialzedDeclarationDescriptor.Id, "k4").WithLocation(14, 36)) + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "k2").WithLocation(14, 28), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "k3").WithLocation(14, 32), + Diagnostic(VariableDeclarationTestAnalyzer.LocalVarInitializedDeclarationDescriptor.Id, "k4").WithLocation(14, 36)) End Sub Public Sub CaseVisualBasic()