private Bound_Expression_Node Bind_Binary_Expression(Binary_Expression_Syntax_Node expression_syntax) { var bound_left = Bind_Expression(expression_syntax.Left_Token); var bound_right = Bind_Expression(expression_syntax.Right_Token); var bound_operator = Bound_Binary_Operator.Bind(expression_syntax.Operator_Token.Kind_Of_Token, bound_left.Type, bound_right.Type); if (bound_operator == null) { _diagnostics.Report_Undefined_Binary_Operator(expression_syntax.Operator_Token.Span, expression_syntax.Operator_Token.Text, bound_left.Type, bound_right.Type); return(bound_left); } return(new Bound_Binary_Expression_Node(bound_left, bound_operator, bound_right)); }
private Bound_Expression_Node Bind_Binary_Expression(Binary_Expression_Syntax_Node expression_syntax) { var bound_left = Bind_Expression(expression_syntax.Left_Token); var bound_right = Bind_Expression(expression_syntax.Right_Token); var bound_operator = Bound_Binary_Operator.Bind(expression_syntax.Operator_Token.Kind_Of_Token, bound_left.Type, bound_right.Type); if (bound_operator == null) { _diagnostics.Add($"Binary operator '{expression_syntax.Operator_Token.Text}' is not defined for types {bound_left.Type} and {bound_right.Type}....!"); return(bound_left); } return(new Bound_Binary_Expression_Node(bound_left, bound_operator, bound_right)); }