提交 24bd64fd 编写于 作者: G Gen Lu

Add missing IOperation trait and fix tests

上级 87dd6937
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Semantics;
......@@ -1625,6 +1625,7 @@ public void M()
VerifyOperationTreeAndDiagnosticsForTest<ElementAccessExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics, AdditionalOperationTreeVerifier: IndexerAccessArgumentVerifier.Verify);
}
[CompilerTrait(CompilerFeature.IOperation)]
[ClrOnlyFact(ClrOnlyReason.Ilasm)]
public void AssigningToIndexer_UsingDefaultArgumentFromSetter()
{
......@@ -1725,13 +1726,12 @@ public static void Main(string[] args)
Arguments(2):
IArgument (ArgumentKind.Explicit, Matching Parameter: i) (OperationKind.Argument) (Syntax: '10')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.Int32, Constant: 10) (Syntax: '10')
InConversion: null
OutConversion: null
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
IArgument (ArgumentKind.DefaultValue, Matching Parameter: j) (OperationKind.Argument) (Syntax: 'p[10]')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.Int32, Constant: 4) (Syntax: 'p[10]')
InConversion: null
OutConversion: null
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
";
var expectedDiagnostics = DiagnosticDescription.None;
var expectedOutput = @"10 4
......@@ -1742,6 +1742,7 @@ public static void Main(string[] args)
CompileAndVerify(new[] { csharp }, new[] { SystemRef, ilReference }, expectedOutput: expectedOutput);
}
[CompilerTrait(CompilerFeature.IOperation)]
[ClrOnlyFact(ClrOnlyReason.Ilasm)]
public void ReadFromIndexer_UsingDefaultArgumentFromGetter()
{
......@@ -1842,10 +1843,12 @@ public static void Main(string[] args)
Arguments(2):
IArgument (ArgumentKind.Explicit, Matching Parameter: i) (OperationKind.Argument) (Syntax: '10')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.Int32, Constant: 10) (Syntax: '10')
InConversion: null
OutConversion: null
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
IArgument (ArgumentKind.DefaultValue, Matching Parameter: j) (OperationKind.Argument) (Syntax: 'p[10]')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.Int32, Constant: 2) (Syntax: 'p[10]')
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
";
var expectedDiagnostics = DiagnosticDescription.None;
......@@ -1857,6 +1860,7 @@ public static void Main(string[] args)
CompileAndVerify(new[] { csharp }, new[] { SystemRef, ilReference }, expectedOutput: expectedOutput);
}
[CompilerTrait(CompilerFeature.IOperation)]
[ClrOnlyFact(ClrOnlyReason.Ilasm)]
public void IndexerAccess_LHSOfCompoundAssignment()
{
......@@ -1957,10 +1961,12 @@ public static void Main(string[] args)
Arguments(2):
IArgument (ArgumentKind.Explicit, Matching Parameter: i) (OperationKind.Argument) (Syntax: '10')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.Int32, Constant: 10) (Syntax: '10')
InConversion: null
OutConversion: null
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
IArgument (ArgumentKind.DefaultValue, Matching Parameter: j) (OperationKind.Argument) (Syntax: 'p[10]')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.Int32, Constant: 2) (Syntax: 'p[10]')
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
";
var expectedDiagnostics = DiagnosticDescription.None;
......@@ -1973,6 +1979,7 @@ 10 2
CompileAndVerify(new[] { csharp }, new[] { SystemRef, ilReference }, expectedOutput: expectedOutput);
}
[CompilerTrait(CompilerFeature.IOperation)]
[ClrOnlyFact(ClrOnlyReason.Ilasm)]
public void InvalidConversionForDefaultArgument_InIL()
{
......@@ -2020,12 +2027,15 @@ public void M2()
IConversionExpression (Implicit, TryCast: False, Unchecked) (OperationKind.ConversionExpression, Type: System.Int32) (Syntax: 'p.M1()')
Conversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
Operand: ILiteralExpression (OperationKind.LiteralExpression, Type: System.String, Constant: ""abc"") (Syntax: 'p.M1()')
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
";
var expectedDiagnostics = DiagnosticDescription.None;
VerifyOperationTreeAndDiagnosticsForTestWithIL<InvocationExpressionSyntax>(csharp, il, expectedOperationTree, expectedDiagnostics);
}
[CompilerTrait(CompilerFeature.IOperation)]
[Fact, WorkItem(20330, "https://github.com/dotnet/roslyn/issues/20330")]
public void DefaultValueNullForNullableTypeParameterWithMissingNullableReference()
{
......@@ -2076,6 +2086,7 @@ static void M2(bool? x = null)
VerifyOperationTreeAndDiagnosticsForTest<InvocationExpressionSyntax>(compilation, expectedOperationTree, expectedDiagnostics);
}
[CompilerTrait(CompilerFeature.IOperation)]
[Fact, WorkItem(20330, "https://github.com/dotnet/roslyn/issues/20330")]
public void DefaultValueWithParameterErrorType()
{
......@@ -2098,8 +2109,8 @@ static void M2(int x, S s = 0)
Arguments(1):
IArgument (ArgumentKind.Explicit, Matching Parameter: null) (OperationKind.Argument) (Syntax: '1')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.Int32, Constant: 1) (Syntax: '1')
InConversion: null
OutConversion: null
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
";
var expectedDiagnostics = new DiagnosticDescription[] {
......
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
Imports Microsoft.CodeAnalysis
Imports Microsoft.CodeAnalysis.Test.Utilities
......@@ -12,7 +12,8 @@ Imports Roslyn.Test.Utilities
Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests
Public Class BindingCollectionInitializerTests
Inherits BasicTestBase
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerList()
Dim source =
......@@ -48,7 +49,8 @@ IObjectCreationExpression (Constructor: Sub System.Collections.Generic.List(Of S
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source.Value, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerListEachElementAsCollectionInitializer()
Dim source =
......@@ -93,7 +95,8 @@ IObjectCreationExpression (Constructor: Sub System.Collections.Generic.List(Of S
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source.Value, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerDictionary()
Dim source =
......@@ -141,7 +144,8 @@ IObjectCreationExpression (Constructor: Sub System.Collections.Generic.Dictionar
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source.Value, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerCustomCollection()
Dim source =
......@@ -244,7 +248,8 @@ IObjectCreationExpression (Constructor: Sub Custom..ctor()) (OperationKind.Objec
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source.Value, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerEmptyInitializers()
Dim source = <![CDATA[
......@@ -282,7 +287,8 @@ BC36721: An aggregate collection initializer entry must contain at least one ele
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerNotACollection()
Dim source = <![CDATA[
......@@ -315,7 +321,8 @@ BC36718: Cannot initialize the type 'C1' with a collection initializer because i
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerCannotCombineBothInitializers()
Dim source = <![CDATA[
......@@ -440,7 +447,8 @@ BC36720: An Object Initializer and a Collection Initializer cannot be combined i
VerifyOperationTreeAndDiagnosticsForTest(Of MethodBlockSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerNoAddMethod()
Dim source = <![CDATA[
......@@ -535,7 +543,8 @@ BC36719: Cannot initialize the type 'C5' with a collection initializer because i
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerAddMethodIsFunction()
Dim source =
......@@ -606,7 +615,8 @@ IObjectCreationExpression (Constructor: Sub C1..ctor()) (OperationKind.ObjectCre
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source.Value, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerOverloadResolutionErrors()
Dim source = <![CDATA[
......@@ -718,7 +728,8 @@ BC30439: Constant expression not representable in type 'Byte'.
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCollectionInitializerSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerWarningsWillBeKept()
Dim source = <![CDATA[
......@@ -1019,7 +1030,8 @@ End Class
CompileAndVerify(source, "Hello World!")
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerTypeConstraintsAndAmbiguity()
Dim source = <![CDATA[
......@@ -1070,7 +1082,8 @@ BC30521: Overload resolution failed because no accessible 'Add' is most specific
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<WorkItem(529265, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/529265")>
<Fact()>
Public Sub CollectionInitializerCollectionInitializerArityCheck()
......@@ -1369,7 +1382,8 @@ BC42104: Variable 'd' is used before it has been assigned a value. A null refere
~
</expected>)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerReferencingItself_2()
Dim source = <![CDATA[
......@@ -1398,8 +1412,8 @@ IObjectCreationExpression (Constructor: Sub System.Collections.Generic.List(Of S
Arguments(1):
IArgument (ArgumentKind.Explicit, Matching Parameter: index) (OperationKind.Argument) (Syntax: '0')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.Int32, Constant: 0) (Syntax: '0')
InConversion: null
OutConversion: null
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
]]>.Value
Dim expectedDiagnostics = <![CDATA[
......@@ -1413,7 +1427,8 @@ BC42104: Variable 'z' is used before it has been assigned a value. A null refere
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub CollectionInitializerCustomCollectionOptionalParameter()
Dim source =
......
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
' 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.Linq.Enumerable
Imports System.Xml.Linq
......@@ -15,7 +15,8 @@ Imports Roslyn.Test.Utilities
Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests
Public Class BindingMemberInitializerTests
Inherits BasicTestBase
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub SimpleObjectInitialization()
Dim source = <![CDATA[
......@@ -49,7 +50,8 @@ IObjectCreationExpression (Constructor: Sub C2..ctor()) (OperationKind.ObjectCre
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializationWithFieldOnRight()
Dim source = <![CDATA[
......@@ -85,7 +87,8 @@ IObjectCreationExpression (Constructor: Sub C2..ctor()) (OperationKind.ObjectCre
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerEmptyInitializers()
Dim source = <![CDATA[
......@@ -117,7 +120,8 @@ BC30996: Initializer expected.
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerMissingIdentifierInInitializer()
Dim source = <![CDATA[
......@@ -173,7 +177,8 @@ BC30451: 'Unknown' is not declared. It may be inaccessible due to its protection
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerOnlyDotIdentifierInInitializer()
Dim source = <![CDATA[
......@@ -216,7 +221,8 @@ BC30984: '=' expected (object initializer).
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerMissingExpressionInInitializer()
Dim source = <![CDATA[
......@@ -256,7 +262,8 @@ BC30201: Expression expected.
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<WorkItem(529213, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/529213")>
<Fact()>
Public Sub ObjectInitializerKeyKeywordInInitializer()
......@@ -304,7 +311,8 @@ BC30451: 'Key' is not declared. It may be inaccessible due to its protection lev
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<WorkItem(544357, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/544357")>
<Fact()>
Public Sub ObjectInitializerMultipleInitializations()
......@@ -350,7 +358,8 @@ BC30989: Multiple initializations of 'Field'. Fields and properties can be init
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerInitializingObject()
Dim source = <![CDATA[
......@@ -416,7 +425,8 @@ End Class
Hello World!
]]>)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerInitializeSharedFieldOnNewInstance()
Dim source = <![CDATA[
......@@ -452,7 +462,8 @@ BC30991: Member 'Field1' cannot be initialized in an object initializer expressi
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerInitializeNonExistentField()
Dim source = <![CDATA[
......@@ -502,7 +513,8 @@ BC30456: 'Field1' is not a member of 'C1'.
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerInitializeInaccessibleField()
Dim source = <![CDATA[
......@@ -546,7 +558,8 @@ BC30389: 'C2.Field' is not accessible in this context because it is 'Protected'.
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerInitializeNonWriteableMember()
Dim source = <![CDATA[
......@@ -586,7 +599,8 @@ BC30990: Member 'Goo' cannot be initialized in an object initializer expression
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerInitializeReadOnlyProperty()
Dim source = <![CDATA[
......@@ -625,7 +639,8 @@ BC30526: Property 'X' is 'ReadOnly'.
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerInitializeReadOnlyField()
Dim source = <![CDATA[
......@@ -664,7 +679,8 @@ BC30064: 'ReadOnly' variable cannot be the target of an assignment.
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerPropertyWithInaccessibleSet()
Dim source = <![CDATA[
......@@ -705,7 +721,8 @@ BC31102: 'Set' accessor of property 'X' is not accessible.
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerTypeIsErrorType()
Dim source = <![CDATA[
......@@ -785,7 +802,8 @@ BC30451: 'Unknown' is not declared. It may be inaccessible due to its protection
VerifyOperationTreeAndDiagnosticsForTest(Of MethodBlockSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerNewTWith()
Dim source = <![CDATA[
......@@ -822,7 +840,8 @@ ITypeParameterObjectCreationExpression (OperationKind.TypeParameterObjectCreatio
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerTypeParametersInInitializers()
Dim source = <![CDATA[
......@@ -862,7 +881,8 @@ IObjectCreationExpression (Constructor: Sub C1(Of T)..ctor()) (OperationKind.Obj
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerNestedInWithStatement_1()
Dim source =
......@@ -913,7 +933,8 @@ IObjectCreationExpression (Constructor: Sub C1..ctor()) (OperationKind.ObjectCre
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source.Value, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerNestedInWithStatement_2()
Dim source = <![CDATA[
......@@ -962,7 +983,8 @@ BC30456: 'Field2' is not a member of 'C1'.
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerNestedInitializers_1()
Dim source =
......@@ -1022,7 +1044,8 @@ IObjectCreationExpression (Constructor: Sub C1..ctor()) (OperationKind.ObjectCre
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source.Value, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerNestedInitializers_2()
Dim source = <![CDATA[
......@@ -1079,7 +1102,8 @@ BC30456: 'Field2' is not a member of 'C2'.
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerCaptureFieldForLambda()
Dim source =
......@@ -1141,7 +1165,8 @@ IObjectCreationExpression (Constructor: Sub C1..ctor()) (OperationKind.ObjectCre
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source.Value, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerUsedInFieldInitializers()
Dim source =
......@@ -1214,7 +1239,8 @@ BC42104: Variable 'y' is used before it has been assigned a value. A null refere
</expected>)
' Yeah! We did not have this in Dev10 :)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerInitializePropertyWithOptionalParameters()
Dim source = <![CDATA[
......@@ -1244,8 +1270,8 @@ IObjectCreationExpression (Constructor: Sub C1..ctor()) (OperationKind.ObjectCre
Arguments(1):
IArgument (ArgumentKind.DefaultValue, Matching Parameter: p) (OperationKind.Argument) (Syntax: 'X')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.Int32, Constant: 23) (Syntax: 'X')
InConversion: null
OutConversion: null
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
Right: ILiteralExpression (OperationKind.LiteralExpression, Type: System.String, Constant: "Hello World!") (Syntax: '"Hello World!"')
]]>.Value
......@@ -1253,7 +1279,8 @@ IObjectCreationExpression (Constructor: Sub C1..ctor()) (OperationKind.ObjectCre
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerMemberAccessOnInitExpressionAllowsAllFields()
Dim source = <![CDATA[
......@@ -1293,23 +1320,24 @@ IObjectCreationExpression (Constructor: Sub C1..ctor()) (OperationKind.ObjectCre
Arguments(1):
IArgument (ArgumentKind.DefaultValue, Matching Parameter: p) (OperationKind.Argument) (Syntax: 'X')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.Int32, Constant: 23) (Syntax: 'X')
InConversion: null
OutConversion: null
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
Right: IInvocationExpression ( Function C1.InstanceFunction(p As System.String) As System.String) (OperationKind.InvocationExpression, Type: System.String) (Syntax: '.InstanceFu ... on(.ROProp)')
Instance Receiver: IOperation: (OperationKind.None) (Syntax: 'New C1() Wi ... n(.ROProp)}')
Arguments(1):
IArgument (ArgumentKind.Explicit, Matching Parameter: p) (OperationKind.Argument) (Syntax: '.ROProp')
IPropertyReferenceExpression: ReadOnly Property C1.ROProp As System.String (OperationKind.PropertyReferenceExpression, Type: System.String) (Syntax: '.ROProp')
Instance Receiver: IOperation: (OperationKind.None) (Syntax: 'New C1() Wi ... n(.ROProp)}')
InConversion: null
OutConversion: null
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
]]>.Value
Dim expectedDiagnostics = String.Empty
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerUsingInitializedTargetInInitializerValueType()
Dim source = <![CDATA[
......@@ -1357,7 +1385,8 @@ IObjectCreationExpression (Constructor: Sub s1..ctor()) (OperationKind.ObjectCre
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerWithLifting_1()
Dim source = <![CDATA[
......@@ -1430,7 +1459,8 @@ IObjectCreationExpression (Constructor: Sub C2..ctor()) (OperationKind.ObjectCre
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerDictionaryLookupOperatorSupported()
Dim source = <![CDATA[
......@@ -1470,15 +1500,16 @@ IObjectCreationExpression (Constructor: Sub cust..ctor()) (OperationKind.ObjectC
Arguments(1):
IArgument (ArgumentKind.Explicit, Matching Parameter: arg) (OperationKind.Argument) (Syntax: 'a')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.String, Constant: "a") (Syntax: 'a')
InConversion: null
OutConversion: null
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
]]>.Value
Dim expectedDiagnostics = String.Empty
VerifyOperationTreeAndDiagnosticsForTest(Of ObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ObjectInitializerInField()
Dim source = <![CDATA[
......
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
Imports Microsoft.CodeAnalysis.Test.Utilities
Imports Microsoft.CodeAnalysis.VisualBasic.Syntax
Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests.Semantics
Partial Public Class IOperationTests
Inherits SemanticModelTestBase
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub ILabelStatement_SimpleLabelTest()
Dim source = <![CDATA[
......@@ -30,8 +32,8 @@ IBlockStatement (5 statements) (OperationKind.BlockStatement) (Syntax: 'Public S
Arguments(1):
IArgument (ArgumentKind.Explicit, Matching Parameter: value) (OperationKind.Argument) (Syntax: '"Hello World!"')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.String, Constant: "Hello World!") (Syntax: '"Hello World!"')
InConversion: null
OutConversion: null
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
ILabeledStatement (Label: exit) (OperationKind.LabeledStatement) (Syntax: 'End Sub')
Statement: null
IReturnStatement (OperationKind.ReturnStatement) (Syntax: 'End Sub')
......
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
Imports Microsoft.CodeAnalysis.Test.Utilities
Imports Microsoft.CodeAnalysis.VisualBasic.Symbols
Imports Microsoft.CodeAnalysis.VisualBasic.Syntax
Imports Roslyn.Test.Utilities
......@@ -9,6 +10,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests.ExtensionMethods
Public Class AnonymousTypesTests
Inherits BasicTestBase
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldsReferences()
Dim source = <![CDATA[
......@@ -46,7 +48,8 @@ IConversionExpression (Implicit, TryCast: False, Unchecked) (OperationKind.Conve
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeErrorInFieldReference()
Dim source = <![CDATA[
......@@ -81,7 +84,8 @@ BC30451: 'sss' is not declared. It may be inaccessible due to its protection lev
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldOfRestrictedType()
Dim source = <![CDATA[
......@@ -146,7 +150,8 @@ BC31396: 'TypedReference' cannot be made nullable, and cannot be used as the dat
VerifyOperationTreeAndDiagnosticsForTest(Of MethodBlockSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeReferenceToOuterTypeField()
Dim source = <![CDATA[
......@@ -183,7 +188,8 @@ BC36557: 'a' is not a member of '<anonymous type>'; it does not exist in the cur
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldReferenceOutOfOrder01()
Dim source = <![CDATA[
......@@ -218,7 +224,8 @@ BC36559: Anonymous type member property 'c' cannot be used to infer the type of
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldReferenceOutOfOrder02()
Dim source = <![CDATA[
......@@ -252,7 +259,8 @@ BC36559: Anonymous type member property 'c' cannot be used to infer the type of
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldInitializedWithInstanceMethod()
Dim source = <![CDATA[
......@@ -282,7 +290,8 @@ BC36557: 'ToString' is not a member of '<anonymous type>'; it does not exist in
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldInitializedWithSharedMethod()
Dim source = <![CDATA[
......@@ -314,7 +323,8 @@ BC36557: 'ReferenceEquals' is not a member of '<anonymous type>'; it does not ex
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldInitializedWithExtensionMethod()
Dim source = <![CDATA[
......@@ -349,7 +359,8 @@ BC36557: 'EM' is not a member of '<anonymous type>'; it does not exist in the cu
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldInitializedWithConstructorCall()
Dim source = <![CDATA[
......@@ -379,7 +390,8 @@ BC36557: 'New' is not a member of '<anonymous type>'; it does not exist in the c
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldOfVoidType()
Dim source = <![CDATA[
......@@ -412,7 +424,8 @@ BC30491: Expression does not produce a value.
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldNameWithGeneric()
Dim source = <![CDATA[
......@@ -444,7 +457,8 @@ BC32045: 'Public Property a As T0' has no type parameters and so cannot have typ
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldWithSyntaxError()
Dim source = <![CDATA[
......@@ -472,7 +486,8 @@ BC30203: Identifier expected.
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldWithNothingLiteral()
Dim source = <![CDATA[
......@@ -497,7 +512,8 @@ IAnonymousObjectCreationExpression (OperationKind.AnonymousObjectCreationExpress
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldNameInferenceFromGeneric01()
Dim source = <![CDATA[
......@@ -531,7 +547,8 @@ BC36556: Anonymous type member name can be inferred only from a simple or qualif
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldNameInferenceFromXml01()
Dim source = <![CDATA[
......@@ -556,7 +573,8 @@ BC36556: Anonymous type member name can be inferred only from a simple or qualif
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics, additionalReferences:=XmlReferences)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldNameInferenceFromXml02()
Dim source = <![CDATA[
......@@ -576,7 +594,8 @@ IAnonymousObjectCreationExpression (OperationKind.AnonymousObjectCreationExpress
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics, additionalReferences:=XmlReferences)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldNameInferenceFromXml03()
Dim source = <![CDATA[
......@@ -600,7 +619,8 @@ BC36613: Anonymous type member name cannot be inferred from an XML identifier th
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics, additionalReferences:=XmlReferences)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<WorkItem(544370, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/544370")>
<Fact>
Public Sub AnonymousTypeFieldNameInferenceFromXml04()
......@@ -642,7 +662,8 @@ BC36613: Anonymous type member name cannot be inferred from an XML identifier th
VerifyOperationTreeAndDiagnosticsForTest(Of MethodBlockSyntax)(source, expectedOperationTree, expectedDiagnostics, additionalReferences:=XmlReferences)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldNameInferenceFromExpression01()
Dim source = <![CDATA[
......@@ -669,7 +690,8 @@ BC36556: Anonymous type member name can be inferred only from a simple or qualif
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldNameInferenceFromExpression02()
Dim source = <![CDATA[
......@@ -698,7 +720,8 @@ BC36547: Anonymous type member or property 'a' is already declared.
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldNameInferenceFromExpression03()
Dim source = <![CDATA[
......@@ -729,7 +752,8 @@ BC36547: Anonymous type member or property 'FLD' is already declared.
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldNameInferenceFromExpression04()
Dim source = <![CDATA[
......@@ -753,8 +777,8 @@ IAnonymousObjectCreationExpression (OperationKind.AnonymousObjectCreationExpress
Arguments(1):
IArgument (ArgumentKind.Explicit, Matching Parameter: key) (OperationKind.Argument, IsInvalid) (Syntax: 'x')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.String, Constant: "x", IsInvalid) (Syntax: 'x')
InConversion: null
OutConversion: null
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
]]>.Value
Dim expectedDiagnostics = <![CDATA[
......@@ -765,7 +789,8 @@ BC36547: Anonymous type member or property 'x' is already declared.
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldInitializedWithAddressOf()
Dim source = <![CDATA[
......@@ -797,7 +822,8 @@ BC30491: Expression does not produce a value.
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldInitializedWithDelegate01()
Dim source = <![CDATA[
......@@ -850,7 +876,8 @@ BC36549: Anonymous type property 'x' cannot be used in the definition of a lambd
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldInitializedWithDelegate02()
Dim source = <![CDATA[
......@@ -904,7 +931,8 @@ BC36559: Anonymous type member property 'a' cannot be used to infer the type of
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldInitializedWithDelegate03()
Dim source = <![CDATA[
......@@ -958,7 +986,8 @@ BC36557: 'x' is not a member of '<anonymous type>'; it does not exist in the cur
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeFieldInitializedWithDelegate04()
Dim source = <![CDATA[
......@@ -1026,7 +1055,8 @@ BC36557: 'x' is not a member of '<anonymous type>'; it does not exist in the cur
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<WorkItem(542940, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/542940")>
<Fact>
Public Sub LambdaReturningAnonymousType()
......@@ -1051,7 +1081,7 @@ IAnonymousObjectCreationExpression (OperationKind.AnonymousObjectCreationExpress
VerifyOperationTreeAndDiagnosticsForTest(Of AnonymousObjectCreationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
End Sub
<WorkItem(543286, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/543286")>
<Fact>
Public Sub AnonymousTypeInALambdaInGenericMethod1()
......@@ -1079,7 +1109,8 @@ End Module
CompilationUtils.AssertTheseDiagnostics(compilation, <expected></expected>)
Dim verifier = CompileAndVerify(compilation, expectedOutput:="{ x2 = 0 }")
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact>
Public Sub AnonymousTypeInALambdaInGenericMethod1_OperationTree()
Dim source = <![CDATA[
......
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
Imports Microsoft.CodeAnalysis.Test.Utilities
Imports Microsoft.CodeAnalysis.VisualBasic.Syntax
Imports Roslyn.Test.Utilities
......@@ -565,6 +566,7 @@ BC42016: Implicit conversion from 'Object' to 'Boolean'.
</expected>)
End Sub
<CompilerTrait(CompilerFeature.IOperation)>
<Fact()>
Public Sub SelectCase_AnonymousLambda_OperationTree()
Dim source = <![CDATA[
......@@ -609,6 +611,8 @@ ISwitchStatement (2 cases) (OperationKind.SwitchStatement) (Syntax: 'Select Case
Arguments(1):
IArgument (ArgumentKind.Explicit, Matching Parameter: value) (OperationKind.Argument) (Syntax: '"Failed"')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.String, Constant: "Failed") (Syntax: '"Failed"')
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
ISwitchCase (1 case clauses, 1 statements) (OperationKind.SwitchCase) (Syntax: 'Case Else ... Succeeded")')
Clauses:
IDefaultCaseClause (CaseKind.Default) (OperationKind.DefaultCaseClause) (Syntax: 'Case Else')
......@@ -620,6 +624,8 @@ ISwitchStatement (2 cases) (OperationKind.SwitchStatement) (Syntax: 'Select Case
Arguments(1):
IArgument (ArgumentKind.Explicit, Matching Parameter: value) (OperationKind.Argument) (Syntax: '"Succeeded"')
ILiteralExpression (OperationKind.LiteralExpression, Type: System.String, Constant: "Succeeded") (Syntax: '"Succeeded"')
InConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
OutConversion: CommonConversion (Exists: True, IsIdentity: True, IsNumeric: False, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
]]>.Value
Dim expectedDiagnostics = String.Empty
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册