コード例 #1
0
        /// <summary>
        /// function_call :
        ///     CALL? routine_name function_arguments? keep_clause?
        ///     ;
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override object VisitFunction_call([NotNull] PlSqlParser.Function_callContext context)
        {
            var names = ObjectName.ProcedureName(context.routine_name().GetCleanedTexts());

            var method = new OCallMethodReference()
            {
                Name = names
            };

            var function_arguments = context.function_arguments();

            if (function_arguments != null)
            {
                method.Arguments = VisitFunction_arguments(function_arguments) as List <OMethodArgument>;
            }

            var keep_clause = context.keep_clause();

            if (keep_clause != null)
            {
                Stop();
                var tt = VisitKeep_clause(keep_clause);
                //method.Keep = tt;
            }

            //EvaluateGrants(method);

            return(method);
        }
コード例 #2
0
ファイル: Helper.cs プロジェクト: dbobylev/OracleParser
        public static ParsedLink ReadElement(PlSqlParser.Function_callContext context)
        {
            var item        = context.children[0] as ParserRuleContext;
            var elementName = item.GetText();
            var element     = new ParsedLink(elementName);

            element.SetPosition(item);
            return(element);
        }
コード例 #3
0
 public override ParsedProcedure VisitFunction_call([NotNull] PlSqlParser.Function_callContext context)
 {
     _Result.AddElement(Helper.ReadElement(context));
     return(base.VisitFunction_call(context));
 }