public static IEnumerable <SyntaxNode> BuildBinaryOperator(this RoslynEcsTranslator translator, BinaryOperatorNodeModel model, IPortModel portModel) { if (model.kind == BinaryOperatorKind.Equals) { yield return(InvocationExpression( MemberAccessExpression( SyntaxKind.SimpleMemberAccessExpression, PredefinedType(Token(SyntaxKind.ObjectKeyword)), IdentifierName("Equals"))) .WithArgumentList( ArgumentList( SeparatedList(new[] { Argument((ExpressionSyntax)translator.BuildPort(model.InputPortA).SingleOrDefault()), Argument((ExpressionSyntax)translator.BuildPort(model.InputPortB).SingleOrDefault()) })))); } else { yield return(RoslynBuilder.BinaryOperator(model.kind, translator.BuildPort(model.InputPortA).SingleOrDefault(), translator.BuildPort(model.InputPortB).SingleOrDefault())); } }
public static IEnumerable <SyntaxNode> BuildBinaryOperator(this RoslynTranslator translator, BinaryOperatorNodeModel model, IPortModel portModel) { yield return(RoslynBuilder.BinaryOperator(model.kind, translator.BuildPort(model.InputPortA).SingleOrDefault(), translator.BuildPort(model.InputPortB).SingleOrDefault())); }