[Bug 58502] code completion doesn't work with namespace

Steven T. Hatton hattons at globalsymmetry.com
Tue Feb 24 11:25:10 UTC 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tuesday 24 February 2004 04:33 am, Roberto Raggi wrote:
> Hi,
>

> antlr??! we have our own parser for that!! it creates at least two
> different _trees_ (while the persitant PCS (Catalog) is a flat list of
> tags) ;) - the Abstract syntax tree (AST)
>   - the CodeModel tree (for code completion, searching, and so on..
>
> the AST is very detailed, but it consume too much memory, for this reason
> I've decided to implement the CodeModel, that is a simplified AST and
> Catalog that is a persistent class store. My long term project is merge the
> CodeModel, AST and Catalog.. 

It has just occurred to me why Java requires directory structure to reflect 
package structure.  The directory structure serves as a tree datastructure.  
would it be possible to simply build a list of fully qualified names?  That 
would form a tree structure.  Not with pointers, but simply with data 
content.  You could sort it and then restrict the visibility linearly.  Or 
have you already been down that path?

basically what I mean is:
a.a.a
a.a.b
a.a.c
a.b.a
a.b.b

a->a->a
|  |->b
|  |->c
|
|->b->a
   |->b

I'm not sure if some kind of compression would be advantageous in that 
situation.  IOW, you may not need to store each name in physical storage.  
Instead it is probably possible to store redundant parts of names, and use a 
smaller symbolic representation.  If the means to accomplish that are 
available by simply 'gzipping' the memory space, and it can be accessed by 
existing, simple api calls that make it look like normal data, it might be 
worth considering.

> > can begin typing QSt and I get code completion for all the Qt classes
> > that
>
> it is already possible to implement such feature, but I think that it is
> quite annoying

I'm sorry.  Perhaps I should have elaborated.  If I understand you correctly, 
you believe that an undifferentiated code completion without context 
sensitivity is annoying.  Is that correct?  I hope so. ;)  The alternative 
would shock me.  I was describing what happens when working in a recent build 
from CVS.  Perhaps I can get context sensitive filtering on code completion 
in KDevelop, I just don't know how.

> ciao robe

STH
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQFAOyZDH2SF0i7rrGwRAkApAJwOh00zghrdzq6usQdEt3aA4hafEQCgj3yi
TDRZxzk7jkZk3jrhjfTKAfg=
=9Ww6
-----END PGP SIGNATURE-----




More information about the KDevelop-devel mailing list