Bug 45998

Summary: Incorrect parsing of C++ code
Product: [Applications] kdevelop Reporter: lindovsky
Component: Language Support: CPP (old)Assignee: KDevelop-Devel List <kdevelop-devel>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: RedHat Enterprise Linux   
OS: Linux   
Latest Commit: Version Fixed In:

Description lindovsky 2002-07-31 15:49:23 UTC
(*** This bug was imported into bugs.kde.org ***)

Package:           kdevelop
Version:           KDE 3.0.0 
Severity:          normal
Installed from:    RedHat RPMs
Compiler:          Not Specified
OS:                Linux
OS/Compiler notes: Not Specified

Hi

I would like to report the following three bugs for KDevelop 2.1.1 (using KDE 2.2-11) - but maybe they remain in later versions:

a) The class tree doesn't parse the following code correctly - the catch clause is shown as a function in the tree:

void f() try {
} catch(int) {
}

b) The class tree doesn't parse the following code correctly - the X::Y class is missing from the tree:

class X {
  class Y;
};
class X::Y {};

b) The class tree does show the function A::B::g from the following code but it isn't able to bring you to its
declaration/definition:

namespace A {
  namespace B{
    void g() {}
  }
}

Regards
Petr Lindovsky




(Submitted via bugs.kde.org)
Comment 1 Caleb Tennis 2002-10-09 22:23:57 UTC
Still a bug in Gideon 
Comment 2 Eray Ozkural 2003-02-27 00:18:46 UTC
Problem b) about inner classes/structures fixed! 
 
The other two is up to you guys! 
 
Cheers ;) 
 
Comment 3 Eray Ozkural 2003-02-27 13:38:43 UTC
Problem a) already fixed, verified. 
 
Comment 4 Eray Ozkural 2003-02-27 13:55:24 UTC
Problem c) is not present!  
  
The class tree does take you to function declarations and definitions. The namespace  
view, however is bug-ridden but those are for another bug....  
Comment 5 Aleix Pol 2013-03-31 00:44:12 UTC
Moving all the bugs from the CPP Parser. It was not well defined the difference between it and C++ Language Support and people kept reporting in both places indistinctively