/// <summary>
        /// argument :
        ///       regular_id BIND_VAR /*EQUALS_OP GREATER_THAN_OP*/ expression
        ///     | expression
        ///     ;
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override object VisitArgument([NotNull] PlSqlParser.ArgumentContext context)
        {
            var value = VisitExpression(context.expression());
            var arg   = new OMethodArgument()
            {
                ParameterName                         = context.BIND_VAR() != null?context.regular_id().GetCleanedName() : string.Empty,
                                                Value = value as OCodeExpression,
            };

            return(arg);
        }
        public static SqlParseFunctionArgument Form(IContext context, PlSqlParser.ArgumentContext argument)
        {
            if (argument == null)
            {
                return(null);
            }

            var id  = SqlParseName.Simple(argument.id());
            var exp = Parsing.SqlParseExpression.Build(context, argument.expressionWrapper());

            return(new SqlParseFunctionArgument {
                Id = id,
                Expression = exp
            });
        }
Example #3
0
        public static FunctionArgument Form(PlSqlParser.ArgumentContext context)
        {
            if (context == null)
            {
                return(null);
            }

            var id  = Name.Simple(context.id());
            var exp = Compile.Expression.Build(context.expressionWrapper());

            return(new FunctionArgument {
                Id = id,
                Expression = exp
            });
        }