#306 PL/SQL ctags misses some procedures

closed-works-for-me
None
5
2012-10-24
2011-02-17
Colin Gordon
No

Run ctags my.sql on following code:
my.sql:
------
create or replace package body p_test is

procedure do_this_stuff is begin
if true then
for idx in z+1 .. myarr.last loop
if myarr.exists(idx) then
null;
end if;
end loop;

elsif true then
for idx in myarr.first .. myarr.last loop
if myarr.exists(idx) then
null;
end if;
end loop;
end if;
end do_this_stuff;

procedure process_this (
p_flag in boolean
) is
begin
null;
end process_this;

procedure myfn1 (
p_str1 in varchar2,
p_str2 in varchar2
) is begin
process_this(false);
end myfn1;

procedure myfn2 (
p_str1 in varchar2,
p_str2 in varchar2
) is begin
process_this(true);
end myfn2;

end p_test;

tags generated are as follows:
do_this_stuff my.sql /^ procedure do_this_stuff is begin$/;" p
myfn2 my.sql /^ procedure myfn2 ($/;" p
p_test my.sql /^create or replace package body p_test is$/;" P

process_this and myfn1 are missed out. I believe problem is related to code in do_this_stuff.

Discussion

  • David Fishburn
    David Fishburn
    2012-10-24

    • assigned_to: nobody --> dfishburn
     
  • David Fishburn
    David Fishburn
    2012-10-24

    When running with the trunk version the following tags are created:

    packages
    p_test
    procedures
    p_test.do_this_stuff
    p_test.myfn1
    p_test.myfn2
    p_test.process_this

     
  • David Fishburn
    David Fishburn
    2012-10-24

    • status: open --> closed-works-for-me