/// <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);
        }