private static bool IsValidReturnTypeForDefinition(ITypeSymbol invocationReturnType, ITypeSymbol definitionReturnType)
        {
            if (TryGetTaskTypeArgument(definitionReturnType, out ITypeSymbol taskTypeArgument))
            {
                definitionReturnType = taskTypeArgument;
            }

            return(SyntaxNodeUtils.InputMatchesOrCompatibleType(invocationReturnType, definitionReturnType) ||
                   SyntaxNodeUtils.TypeNodeImplementsOrExtendsType(definitionReturnType, invocationReturnType.ToString()));
        }
Exemplo n.º 2
0
 private static bool IsValidArgumentForDefinition(ITypeSymbol invocationInputType, ITypeSymbol definitionInputType)
 {
     return(SyntaxNodeUtils.InputMatchesOrCompatibleType(invocationInputType, definitionInputType) ||
            SyntaxNodeUtils.TypeNodeImplementsOrExtendsType(invocationInputType, definitionInputType.ToString()));
 }