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())); }
private static bool IsValidArgumentForDefinition(ITypeSymbol invocationInputType, ITypeSymbol definitionInputType) { return(SyntaxNodeUtils.InputMatchesOrCompatibleType(invocationInputType, definitionInputType) || SyntaxNodeUtils.TypeNodeImplementsOrExtendsType(invocationInputType, definitionInputType.ToString())); }