未验证 提交 981f5384 编写于 作者: A AlekseyTs 提交者: GitHub

Cleanup prototype comments in nullable tests (Part 4) (#30036)

上级 4093428b
......@@ -264,10 +264,8 @@ static void Main()
Diagnostic(ErrorCode.WRN_UnreferencedField, "F3").WithArguments("D<T>.F3"));
}
// PROTOTYPE(NullableReferenceTypes): Implement ContainsNullableReferenceTypes
// with VisitType extension method.
[WorkItem(531368, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/531368")]
[Fact(Skip = "ContainsNullableReferenceTypes")]
[Fact]
public void TestDeepTypeAccessibilityBug18018()
{
// Bug 18018: Deep array types blow the stack during accessibility analysis.
......
......@@ -35,7 +35,7 @@ public void UnconstrainedGenericType()
internal T F4 = default(T);
}";
// https://github.com/dotnet/roslyn/issues/29849 Missing warnings for possible null-assignment to F3 and F4
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition });
var comp = CreateCompilation(new[] { source, NonNullTypesTrue });
comp.VerifyDiagnostics(
// (1,16): warning CS8618: Non-nullable field 'F1' is uninitialized.
// internal class C<T> where T : new()
......@@ -59,7 +59,7 @@ public void ReadWriteFields_DefaultConstructor()
internal object?[] F3;
private object[]? F4;
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (1,7): warning CS8618: Non-nullable field 'F3' is uninitialized.
// class C
......@@ -93,7 +93,7 @@ internal C(object x, object y)
F4 = new[] { x, y };
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (7,14): warning CS8618: Non-nullable field 'F3' is uninitialized.
// internal C()
......@@ -122,7 +122,7 @@ public void ReadOnlyFields_DefaultConstructor()
internal readonly object?[] F3;
private readonly object[]? F4;
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (1,7): warning CS8618: Non-nullable field 'F3' is uninitialized.
// class C
......@@ -156,7 +156,7 @@ internal C(object x, object y)
F4 = new[] { x, y };
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (7,14): warning CS8618: Non-nullable field 'F3' is uninitialized.
// internal C()
......@@ -183,12 +183,13 @@ public void FieldInitializers_DefaultConstructor()
internal object?[] F3 = new [] { new object(), null };
private object[]? F4 = new [] { new object() };
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics();
}
// PROTOTYPE(NullableReferenceTypes): Report warnings for static fields.
// https://github.com/dotnet/roslyn/issues/30020: Report warnings for static fields.
[Fact]
[WorkItem(30020, "https://github.com/dotnet/roslyn/issues/30020")]
public void StaticFields_DefaultConstructor()
{
var source =
......@@ -200,7 +201,7 @@ public void StaticFields_DefaultConstructor()
private readonly static object F3;
private readonly static object F4 = new object();
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics();
//// (8,12): warning CS8618: Non-nullable field 'F3' is uninitialized.
//// static C()
......@@ -210,8 +211,9 @@ public void StaticFields_DefaultConstructor()
//Diagnostic(ErrorCode.WRN_UninitializedNonNullableField, "C").WithArguments("field", "F1").WithLocation(8, 12));
}
// PROTOTYPE(NullableReferenceTypes): Report warnings for static fields.
// https://github.com/dotnet/roslyn/issues/30020: Report warnings for static fields.
[Fact]
[WorkItem(30020, "https://github.com/dotnet/roslyn/issues/30020")]
public void StaticFields_ExplicitConstructor()
{
var source =
......@@ -228,7 +230,7 @@ static C()
F4 = new object();
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics();
//// (8,12): warning CS8618: Non-nullable field 'F3' is uninitialized.
//// static C()
......@@ -270,7 +272,7 @@ internal C(object x, object y, string z) : base()
F3 = z;
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (7,13): warning CS8618: Non-nullable field 'F2' is uninitialized.
// private C()
......@@ -310,7 +312,7 @@ internal C(object x, object y)
P4 = new[] { x, y };
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (7,14): warning CS8618: Non-nullable property 'P3' is uninitialized.
// internal C()
......@@ -350,7 +352,7 @@ internal C(object x, object y)
P4 = new[] { x, y };
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (7,14): warning CS8618: Non-nullable property 'P3' is uninitialized.
// internal C()
......@@ -375,7 +377,7 @@ public void AutoPropertyInitializers_DefaultConstructor()
private object P1 { get; } = new object();
internal object P2 { get; set; } = new object();
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics();
}
......@@ -395,7 +397,7 @@ internal C(object o)
P2 = new object?[] { o };
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics();
}
......@@ -413,16 +415,10 @@ internal C()
{
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics();
}
[Fact]
public void Events_ExplicitConstructors()
{
// PROTOTYPE(NullableReferenceTypes): Handle events.
}
[Fact]
public void GenericType()
{
......@@ -443,7 +439,7 @@ private C(T t)
P4 = t;
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (10,13): warning CS8618: Non-nullable field 'F2' is uninitialized.
// private C(T t)
......@@ -473,7 +469,7 @@ private C()
{
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (10,13): warning CS8618: Non-nullable property 'P1' is uninitialized.
// private C()
......@@ -499,11 +495,12 @@ private C()
{
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics();
}
[WorkItem(29065, "https://github.com/dotnet/roslyn/issues/29065")]
[WorkItem(30021, "https://github.com/dotnet/roslyn/issues/30021")]
[Fact]
public void GenericType_NonNullTypes()
{
......@@ -528,7 +525,7 @@ class C<T> where T : struct
}";
// [NonNullTypes(true)]
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (11,5): warning CS8618: Non-nullable field 'F2' is uninitialized.
// B() { }
......@@ -538,9 +535,9 @@ class C<T> where T : struct
Diagnostic(ErrorCode.WRN_UninitializedNonNullableField, "A").WithArguments("field", "F1").WithLocation(5, 5));
// [NonNullTypes(false)]
comp = CreateCompilation(new[] { source, NonNullTypesFalse, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
comp = CreateCompilation(new[] { source, NonNullTypesFalse }, parseOptions: TestOptions.Regular8);
// PROTOTYPE(NullableReferenceTypes): It feels like the following warning is confusing
// https://github.com/dotnet/roslyn/issues/30021: It feels like the following warning is confusing
// (11,5): warning CS8618: Non-nullable field 'F3' is uninitialized.
// B() { }
//
......@@ -576,10 +573,10 @@ class C<T> where T : struct
Diagnostic(ErrorCode.ERR_NullableUnconstrainedTypeParameter, "T?").WithLocation(10, 5)
);
// PROTOTYPE(NullableReferenceTypes): Test with [NonNullTypes(Warnings=false)].
// https://github.com/dotnet/roslyn/issues/29976: Test with [NonNullTypes(Warnings=false)].
}
// PROTOTYPE(NullableReferenceTypes): Test `where T : unmanaged`.
// https://github.com/dotnet/roslyn/issues/29976: Test `where T : unmanaged`.
[Fact]
public void TypeParameterConstraints()
{
......@@ -611,7 +608,7 @@ class C5<T, U> where T : A where U : T
T F5;
U G5;
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (4,7): warning CS8618: Non-nullable field 'G1' is uninitialized.
// class C1<T, U> where U : T
......@@ -651,7 +648,7 @@ public void Tuple()
internal readonly (object, object? B) F3;
internal readonly (object?, object?) F4;
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics();
}
......@@ -672,7 +669,7 @@ internal C(string s)
P = new [] { s };
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (6,14): warning CS8618: Non-nullable property 'P' is uninitialized.
// internal C(string s)
......@@ -699,7 +696,7 @@ internal S(string s)
P = new [] { s };
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (6,14): error CS0843: Auto-implemented property 'S.P' must be fully assigned before control is returned to the caller.
// internal S(string s)
......@@ -725,12 +722,13 @@ public void EmptyStruct()
{
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics();
}
// PROTOTYPE(NullableReferenceTypes): Struct assign `this`.
[Fact(Skip = "Assign this")]
// https://github.com/dotnet/roslyn/issues/30022: Struct assign `this`.
[Fact(Skip = "https://github.com/dotnet/roslyn/issues/30022")]
[WorkItem(30022, "https://github.com/dotnet/roslyn/issues/30022")]
public void StructAssignThis()
{
var source =
......@@ -744,7 +742,7 @@ internal S(S s)
this = s;
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics();
}
......@@ -767,7 +765,7 @@ static void Main()
F(new S() { F = string.Empty });
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics();
}
......@@ -782,16 +780,10 @@ class C
private readonly S s;
private int i;
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics();
}
[Fact]
public void TryCatch()
{
// PROTOTYPE(NullableReferenceTypes):
}
[Fact]
public void LocalFunction()
{
......@@ -810,7 +802,7 @@ void L(object o)
L(new object());
}
}";
var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
var comp = CreateCompilation(new[] { source, NonNullTypesTrue }, parseOptions: TestOptions.Regular8);
comp.VerifyDiagnostics(
// (6,5): warning CS8618: Non-nullable field 'G' is uninitialized.
// C()
......
......@@ -14,6 +14,7 @@ namespace Microsoft.CodeAnalysis.CSharp.UnitTests.Symbols
public class TypeTests : CSharpTestBase
{
[Fact]
[WorkItem(30023, "https://github.com/dotnet/roslyn/issues/30023")]
public void Bug18280()
{
string brackets = "[][][][][][][][][][][][][][][][][][][][]";
......@@ -35,7 +36,7 @@ public void Bug18280()
var arr = x.Type.TypeSymbol;
arr.GetHashCode();
// PROTOTYPE(NullableReferenceTypes): StackOverflowException in SetUnknownNullabilityForReferenceTypes.
// https://github.com/dotnet/roslyn/issues/30023: StackOverflowException in SetUnknownNullabilityForReferenceTypes.
//arr.SetUnknownNullabilityForReferenceTypes();
}
......
......@@ -52,9 +52,6 @@ public NullableAttribute(bool[] transformFlags)
}
";
// PROTOTYPE(NullableReferenceTypes): remove
protected const string NonNullTypesAttributesDefinition = @"";
protected const string NotNullWhenTrueAttributeDefinition = @"
namespace System.Runtime.CompilerServices
{
......@@ -556,17 +553,16 @@ public static SyntaxTree ParseWithRoundTripCheck(string text, CSharpParseOptions
var compilation = createCompilationLambda();
// 'skipUsesIsNullable' may need to be set for some tests, particularly those that want to verify
// symbols are created lazily, since 'UsesIsNullableVisitor' will eagerly visit all members.
// PROTOTYPE(NullableReferenceTypes): Remove skipUsesIsNullable and call VerifyNoNullability
// on a separate Compilation instance created with createCompilationLambda.
if (!skipUsesIsNullable && !IsNullableEnabled(compilation))
{
VerifyUsesOfNullability(compilation.SourceModule.GlobalNamespace, expectedUsesOfNullable: ImmutableArray<string>.Empty);
VerifyUsesOfNullability(createCompilationLambda().SourceModule.GlobalNamespace, expectedUsesOfNullable: ImmutableArray<string>.Empty);
}
return compilation;
}
internal static bool IsNullableEnabled(CSharpCompilation compilation)
{
// This method should not cause any binding, including resolving references, etc.
var trees = compilation.SyntaxTrees;
if (trees.IsDefaultOrEmpty)
{
......
......@@ -333,9 +333,7 @@ static IEnumerator<IList<DateTime>> M()
await TestInRegularAndScriptAsync(initial, expected);
}
// PROTOTYPE(NullableReferenceTypes): Assert in CustomModifierUtils.CopyMethodCustomModifiers
// fails with difference in nullability in D<W>.P1.
[Fact(Skip = "TODO"), Trait(Traits.Feature, Traits.Features.CodeActionsChangeToYield)]
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsChangeToYield)]
public async Task TestAddYieldNoTypeArguments()
{
var initial =
......
......@@ -272,8 +272,9 @@ class Program
}", parameters: s_nullableFeature);
}
[Fact(Skip = "PROTOTYPE(NullableReferenceTypes): the warning is temporarily disabled in this scenario to avoid cycle")]
[Fact(Skip = "https://github.com/dotnet/roslyn/issues/30026: the warning is temporarily disabled in this scenario to avoid cycle")]
[WorkItem(26626, "https://github.com/dotnet/roslyn/issues/26626")]
[WorkItem(30026, "https://github.com/dotnet/roslyn/issues/30026")]
public async Task FixOptionalParameter()
{
await TestInRegularAndScript1Async(
......
......@@ -8,6 +8,7 @@
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Test.Utilities;
using Microsoft.CodeAnalysis.UnitTests;
using Roslyn.Test.Utilities;
using Xunit;
namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Diagnostics.Async
......@@ -344,8 +345,8 @@ class C
index: 1);
}
// PROTOTYPE(NullableReferenceTypes): Enable.
[Fact(Skip = "TODO")]
[Fact(Skip = "https://github.com/dotnet/roslyn/issues/30027")]
[WorkItem(30027, "https://github.com/dotnet/roslyn/issues/30027")]
public async Task UpgradeAllProjectsToCSharp8_NullableReferenceType()
{
await TestLanguageVersionUpgradedAsync(
......
......@@ -829,7 +829,7 @@ public override int X
}
[WorkItem(545615, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/545615")]
[Fact(Skip = "PROTOTYPE(NullableReferenceTypes): Needs investigation"), Trait(Traits.Feature, Traits.Features.CodeActionsImplementAbstractClass)]
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsImplementAbstractClass)]
public async Task TestParamsArray()
{
await TestAllOptionsOffAsync(
......
......@@ -3714,9 +3714,9 @@ void M()
'a {FeaturesResources.is_} new {{ }}"));
}
// PROTOTYPE(NullableReferenceTypes):
[WorkItem(543873, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/543873")]
[Fact(Skip = "PROTOTYPE(NullableReferenceTypes)"), Trait(Traits.Feature, Traits.Features.QuickInfo)]
[WorkItem(30035, "https://github.com/dotnet/roslyn/issues/30035")]
[Fact(Skip = "https://github.com/dotnet/roslyn/issues/30035"), Trait(Traits.Feature, Traits.Features.QuickInfo)]
public async Task TestNestedAnonymousType()
{
// verify nested anonymous types are listed in the same order for different properties
......
......@@ -1836,7 +1836,7 @@ class D : C
End Function
<WorkItem(545664, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/545664")>
<WpfFact(Skip:="PROTOTYPE(NullableReferenceTypes) Needs investigation"), Trait(Traits.Feature, Traits.Features.Completion)>
<WpfFact, Trait(Traits.Feature, Traits.Features.Completion)>
Public Async Function TestArrayAfterOptionalParameter() As Task
Using state = TestState.CreateCSharpTestState(
<Document><![CDATA[
......
......@@ -3654,6 +3654,7 @@ .maxstack 1
/// Netmodules with same name.
/// </summary>
[Fact]
[WorkItem(30031, "https://github.com/dotnet/roslyn/issues/30031")]
public void NetModuleDuplicateReferences()
{
// Netmodule 0
......@@ -3697,7 +3698,7 @@ static void M()
}
}";
var assemblyName = ExpressionCompilerUtilities.GenerateUniqueName();
// PROTOTYPE(NullableReferenceTypes): error CS0101: The namespace 'System.Runtime.CompilerServices' already contains a definition for 'NullableAttribute'
// https://github.com/dotnet/roslyn/issues/30031: error CS0101: The namespace 'System.Runtime.CompilerServices' already contains a definition for 'NullableAttribute'
var parseOptions = TestOptions.Regular7;
var compilationN0 = CreateCompilation(
sourceN0,
......@@ -6441,8 +6442,9 @@ void M(D lambda)
Assert.Contains(AttributeDescription.IsReadOnlyAttribute.FullName + "..ctor()", methodsGenerated);
}
// PROTOTYPE(NullableReferenceTypes): EnsureNullableAttributeExists is not called.
[Fact(Skip = "TODO")]
// https://github.com/dotnet/roslyn/issues/30033: EnsureNullableAttributeExists is not called.
[Fact(Skip = "https://github.com/dotnet/roslyn/issues/30033")]
[WorkItem(30033, "https://github.com/dotnet/roslyn/issues/30033")]
public void EmitNullableAttribute_ExpressionType()
{
var source =
......@@ -6484,11 +6486,12 @@ .maxstack 1
});
}
// PROTOTYPE(NullableReferenceTypes): Expression below currently reports
// https://github.com/dotnet/roslyn/issues/30034: Expression below currently reports
// "CS0453: The type 'object' must be a non-nullable value type ... 'Nullable<T>'"
// because CSharpCompilationExtensions.IsFeatureEnabled() fails when there
// the Compilation contains no syntax trees.
[Fact(Skip = "TODO")]
[Fact(Skip = "https://github.com/dotnet/roslyn/issues/30034")]
[WorkItem(30034, "https://github.com/dotnet/roslyn/issues/30034")]
public void EmitNullableAttribute_LambdaParameters()
{
var source =
......
......@@ -1249,6 +1249,7 @@ .maxstack 2
// An assembly with the expected corlib name and with System.Object should
// be considered the corlib, even with references to external assemblies.
[WorkItem(13275, "https://github.com/dotnet/roslyn/issues/13275")]
[WorkItem(30030, "https://github.com/dotnet/roslyn/issues/30030")]
[Fact]
public void CorLibWithAssemblyReferences()
{
......@@ -1314,7 +1315,7 @@ static void M()
{
}
}";
// PROTOTYPE(NullableReferenceTypes): C#8 projects require System.Attribute.
// https://github.com/dotnet/roslyn/issues/30030: C#8 projects require System.Attribute.
var comp = CreateEmptyCompilation(source, options: TestOptions.DebugDll, parseOptions: TestOptions.Regular7, references: new[] { refLib, AssemblyMetadata.Create(module).GetReference() });
comp.VerifyDiagnostics();
......
......@@ -207,6 +207,7 @@ class C
}
[Fact]
[WorkItem(30030, "https://github.com/dotnet/roslyn/issues/30030")]
public void ImportKinds()
{
var source = @"
......@@ -226,7 +227,7 @@ void M()
}
}
";
// PROTOTYPE(NullableReferenceTypes): C#8 projects require System.Attribute.
// https://github.com/dotnet/roslyn/issues/30030: C#8 projects require System.Attribute.
var aliasedRef = CreateEmptyCompilation("", assemblyName: "Lib", parseOptions: TestOptions.Regular7).EmitToImageReference(aliases: ImmutableArray.Create("A"));
var comp = CreateCompilation(source, new[] { aliasedRef });
WithRuntimeInstance(comp, runtime =>
......@@ -299,6 +300,7 @@ void M()
}
[Fact]
[WorkItem(30030, "https://github.com/dotnet/roslyn/issues/30030")]
public void ForwardToModule()
{
var source = @"
......@@ -328,7 +330,7 @@ void M2()
}
}
";
// PROTOTYPE(NullableReferenceTypes): C#8 projects require System.Attribute.
// https://github.com/dotnet/roslyn/issues/30030: C#8 projects require System.Attribute.
var aliasedRef = CreateEmptyCompilation("", assemblyName: "Lib", parseOptions: TestOptions.Regular7).EmitToImageReference(aliases: ImmutableArray.Create("A"));
var comp = CreateCompilation(source, new[] { aliasedRef });
......@@ -635,7 +637,6 @@ int M()
}
}
";
// PROTOTYPE(NullableReferenceTypes): NamespaceSymbol.Extent.Kind is set to Compilation rather than Module.
var comp = CreateCompilation(source, parseOptions: TestOptions.Regular7);
comp.GetDiagnostics().Where(d => d.Severity > DiagnosticSeverity.Info).Verify();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册