private static bool TryGetInvocationInputType(SemanticModel semanticModel, ActivityFunctionCall activityInvocation, out ITypeSymbol invocationInputType) { var invocationInput = activityInvocation.ParameterNode; invocationInputType = SyntaxNodeUtils.GetSyntaxTreeSemanticModel(semanticModel, invocationInput).GetTypeInfo(invocationInput).Type; return(invocationInputType != null); }
private static bool IsValidReturnTypeForDefinition(ActivityFunctionCall invocation, ActivityFunctionDefinition definition) { var definitionReturnType = definition.ReturnType; if (TryGetTaskTypeArgument(definitionReturnType, out ITypeSymbol taskTypeArgument)) { definitionReturnType = taskTypeArgument; } return(SyntaxNodeUtils.IsMatchingDerivedOrCompatibleType(definitionReturnType, invocation.ReturnType)); }
private static bool TryGetInvocationInputType(SemanticModel semanticModel, ActivityFunctionCall activityInvocation, out ITypeSymbol invocationInputType) { var activityInput = activityInvocation.ArgumentNode; if (activityInput == null) { invocationInputType = null; return(false); } return(SyntaxNodeUtils.TryGetITypeSymbol(semanticModel, activityInput, out invocationInputType)); }
private static bool TryGetInvocationReturnType(SemanticModel semanticModel, ActivityFunctionCall activityInvocation, out ITypeSymbol invocationReturnType) { var invocationReturnNode = activityInvocation.ReturnTypeNode; return(SyntaxNodeUtils.TryGetITypeSymbol(semanticModel, invocationReturnNode, out invocationReturnType)); }
private static void TryGetInvocationReturnType(SemanticModel semanticModel, ActivityFunctionCall activityInvocation, out ITypeSymbol invocationReturnType) { var invocationReturnNode = activityInvocation.ReturnTypeNode; invocationReturnType = SyntaxNodeUtils.GetSyntaxTreeSemanticModel(semanticModel, invocationReturnNode).GetTypeInfo(invocationReturnNode).Type; }
private static bool IsValidArgumentForDefinition(ActivityFunctionCall invocation, ActivityFunctionDefinition definition) { return(SyntaxNodeUtils.IsMatchingDerivedOrCompatibleType(invocation.InputType, definition.InputType)); }
private static bool InvocationInputIsNull(ActivityFunctionCall invocation) { return(invocation.InputNode != null && invocation.InputNode.IsKind(SyntaxKind.NullLiteralExpression)); }