// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
usingMicrosoft.CodeAnalysis.CSharp.Symbols;
namespaceMicrosoft.CodeAnalysis.CSharp
{
/// <summary>
/// Internal structure containing all semantic information about an await expression.
HasOptionalOrVariableParameters(getAwaiterMethod)||// We might have been able to resolve a GetAwaiter overload with optional parameters, so check for that here
getAwaiterMethod.ReturnsVoid)// If GetAwaiter returns void, don't bother checking that it returns an Awaiter.
// 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.
usingSystem.Collections.Immutable;
usingSystem.Diagnostics;
usingMicrosoft.CodeAnalysis.CSharp.Symbols;
namespaceMicrosoft.CodeAnalysis.CSharp
...
...
@@ -18,7 +17,7 @@ public BoundExpression VisitAwaitExpression(BoundAwaitExpression node, bool used
// 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.
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// (13,15): warning CS8620: Argument of type 'StructAwaitable<object>' cannot be used for parameter 's' of type 'StructAwaitable<object?>' in 'TaskAwaiter Program.GetAwaiter(StructAwaitable<object?> s)' due to differences in the nullability of reference types.