Exemplo n.º 1
0
        /// <summary>
        /// type_declaration :
        ///     TYPE identifier IS(table_type_def | varray_type_def | record_type_def | ref_cursor_type_def) ';'
        ///     ;
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override object VisitType_declaration([NotNull] PlSqlParser.Type_declarationContext context)
        {
            OTypeDefinition result = null;

            var table_type_def = context.table_type_def();

            if (table_type_def != null)
            {
                result = (OTypeDefinition)VisitTable_type_def(table_type_def);
            }

            else
            {
                var varray_type_def = context.varray_type_def();
                if (varray_type_def != null)
                {
                    result = (OTypeDefinition)VisitVarray_type_def(varray_type_def);
                }

                else
                {
                    var record_type_def = context.record_type_def();
                    if (record_type_def != null)
                    {
                        result = (OTypeDefinition)VisitRecord_type_def(record_type_def);
                    }

                    else
                    {
                        var ref_cursor_type_def = context.ref_cursor_type_def();
                        result = (OTypeDefinition)VisitRef_cursor_type_def(ref_cursor_type_def);
                    }
                }
            }

            Debug.Assert(result != null);

            var tt = GetText(context);

            var names = context.identifier().GetCleanedTexts();

            result.Name = names[0];

            return(result);
        }
Exemplo n.º 2
0
 public override ParsedPackagePart VisitType_declaration([NotNull] PlSqlParser.Type_declarationContext context)
 {
     return(base.VisitType_declaration(context));
 }