private void ParseExpressionAtom(ExpressionAtomPredicateContext node) { foreach (var child in node.children) { if (child is ConstantExpressionAtomContext constantExp) { this.ParseConstExpression(constantExp); } else if (child is MysqlVariableExpressionAtomContext variableExp) { string text = variableExp.GetText(); this.Write(text, 1); } else if (child is FullColumnNameExpressionAtomContext columnNameExp) { string text = columnNameExp.GetText(); this.Write(text, 1); } else if (child is MathExpressionAtomContext mathExp) { this.ParseMathExpression(mathExp); } } }
public string ParseExpressionAtom(ExpressionAtomPredicateContext node) { StringBuilder sb = new StringBuilder(); foreach (var child in node.children) { if (child is ConstantExpressionAtomContext constantExp) { string text = this.ParseConstExpression(constantExp); sb.Append(text); } else if (child is MysqlVariableExpressionAtomContext variableExp) { string text = variableExp.GetText(); sb.Append(text); } else if (child is FullColumnNameExpressionAtomContext columnNameExp) { string text = columnNameExp.GetText(); sb.Append(text); } else if (child is MathExpressionAtomContext mathExp) { string text = this.ParseMathExpression(mathExp); sb.Append(text); } else if (child is NestedExpressionAtomContext nested) { string text = nested.GetText(); sb.Append(text); } else if (child is FunctionCallExpressionAtomContext func) { string text = func.GetText(); sb.Append(text); } } return(sb.ToString()); }
public static QsiExpressionNode VisitExpressionAtomPredicate(ExpressionAtomPredicateContext context) { return(VisitExpressionAtom(context.expressionAtom())); }