This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Created as a split of issue #180230, see issue #180230 for details. <cite> Looks like the Groovy sources were parsed on CC. It is not clear from the thread dump whether is was valid (=> performance problem) or invalid (=> some defect in parsing cache). </cite>
Seems that the groovy index contains all necessary information for code completion, it contains all elements. Here is an example of a class document: stored,indexed,omitNorms<_sn:graduate/GraZsfRxkskcxxController.groovy> stored,indexed,omitNorms<class:GraZsfRxkskcxxController> stored,indexed,omitNorms<class-ig:grazsfrxkskcxxcontroller> stored,indexed,omitNorms<field:update;java.lang.Object;00;true> stored,indexed,omitNorms<field:index;java.lang.Object;00;true> stored,indexed,omitNorms<field:save;java.lang.Object;00;true> stored,indexed,omitNorms<field:delete;java.lang.Object;00;true> stored,indexed,omitNorms<field:edit;java.lang.Object;00;true> stored,indexed,omitNorms<field:list;java.lang.Object;00;true> stored,indexed,omitNorms<field:allowedMethods;java.lang.Object;00;true> stored,indexed,omitNorms<field:show;java.lang.Object;00;true> stored,indexed,omitNorms<field:create;java.lang.Object;00;true> stored,indexed,omitNorms<fqn:graduate.GraZsfRxkskcxxController> stored,indexed,omitNorms<method:getIndex;java.lang.Object> stored,indexed,omitNorms<method:setIndex(java.lang.Object);void> stored,indexed,omitNorms<method:getAllowedMethods;java.lang.Object> stored,indexed,omitNorms<method:setAllowedMethods(java.lang.Object);void> stored,indexed,omitNorms<method:getList;java.lang.Object> stored,indexed,omitNorms<method:setList(java.lang.Object);void> stored,indexed,omitNorms<method:getShow;java.lang.Object> stored,indexed,omitNorms<method:setShow(java.lang.Object);void> stored,indexed,omitNorms<method:getDelete;java.lang.Object> stored,indexed,omitNorms<method:setDelete(java.lang.Object);void> stored,indexed,omitNorms<method:getEdit;java.lang.Object> stored,indexed,omitNorms<method:setEdit(java.lang.Object);void> stored,indexed,omitNorms<method:getUpdate;java.lang.Object> stored,indexed,omitNorms<method:setUpdate(java.lang.Object);void> stored,indexed,omitNorms<method:getCreate;java.lang.Object> stored,indexed,omitNorms<method:setCreate(java.lang.Object);void> stored,indexed,omitNorms<method:getSave;java.lang.Object> stored,indexed,omitNorms<method:setSave(java.lang.Object);void> so the problem seems to be in parsing and resolution in single file.
The problem is in how the GroovyParser uses JavacParser + GroovyClassLoaders for attribution. I've add a caching into JavacParser which should help the GroovyParser, it's much simpler to do it in JavacParser compared to doing the caching in the GroovyParser. This should help both indexing and code completion. With the patch I've tried the code completion in mid size project and it took seconds rather than tens of seconds. Fixed jet-main c7e4711635d2. As my Groovy knowledge is nearly none, I am a Scala boy ;-) it would be good if someone who knows Groovy can try it when it gets into dev build, this may take some time. Thanks
*** Bug 210597 has been marked as a duplicate of this bug. ***