public override Expression VisitVariableDeclarator([NotNull] RuleEngineParser.VariableDeclaratorContext context) { var identifierContext = context.identifier(); var variableName = identifierContext.GetText(); var rightExpression = VisitVariableInitializer(context.variableInitializer()); var leftExpression = Expression.Variable(rightExpression.Type, variableName); jRuleObjectTypeMapping.AddLocalParameterExpression(variableName, leftExpression); return(Expression.Assign(leftExpression, rightExpression)); }
/// <summary> /// Visit a parse tree produced by <see cref="RuleEngineParser.variableDeclarator"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitVariableDeclarator([NotNull] RuleEngineParser.VariableDeclaratorContext context) { return(VisitChildren(context)); }