Open sdaau opened 7 years ago
Hi @sdaau
cscope and ctags would do fuzzy parsing of the code, without full preprocessing.
So, it recognizes:
class <classname> : public <classname>
But it does not recognize:
class <MACRONAME> <classname> : public <classname>
Because this fails the format expected by the fuzzy parser.
I have started another project to try to improve on this.
Hi,
I just built
codequery
from git, hoping to analyse some openFrameworks code - unfortunately, it doesn't seem to quite work. This is my system info:This is how I installed it - basically following https://github.com/ruben2020/codequery/blob/master/doc/INSTALL-LINUX.md, with some changes cause my system is older (and using a
build64
folder, since I use the same source folder in both 32-bit and 64-bit Ubuntu):OK, then I went to my openFrameworks dir, which contains library code and some of my apps code; since there are underscores and spaces in some of the pathnames (see https://stackoverflow.com/questions/3196760/how-to-use-cscope-with-paths-that-contain-spaces), I had to do this - have one file with quoted filenames for cscope (else
cscope: cannot find file apps/devApps/ofPolyline
etc), and another with unquoted for ctags (elsectags: Warning: cannot open source file ""./libs/freetype/include/freetype2/inter...
etc):At the least, this could be a documentation bug, but it's no biggie, since up to this point, all seems to work.
Then I open
myproject.db
incodequery
. Another buggish thing here is that the window is larger than my monitor, but I cannot scale it down ?! (this is MATE - that is, Gnome2, desktop)And here is the weird thing: I look up the symbol
ElementImage
, from an addon written in C++ - it finds a bunch of files, among others the.h
file where it is defined; so far so good:Then I switch to "Class or Struct", and hit the "Search" button again - now there are no results whatsoever?!
However, this does not happen always - if I look up
TextureResource
, everything is as expected - first as "Symbol":... and then as "Class or Struct" - there is even a small popup showing when I double-click select the class name in the code window:
I understand much of the operation would depend on
cscope
andctags
- but why does this happen? One thing I could notice, is that in the headers, the non-problematicTextureResource
class is declared as:... however, the
ElementImage
is declared as:... so maybe some of the underlying programs gave up on when it encountered the
ROCKETCORE_API
symbol?!Well, this is probably a bug somewhere - but I'm not sure where; just thought it would be a good idea to report it. Would appreciate any guidance for solving this, if available.