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.

Bug 143426 - Navigate to source does not work often
Summary: Navigate to source does not work often
Status: RESOLVED FIXED
Alias: None
Product: php
Classification: Unclassified
Component: Editor (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: rmatous
URL:
Keywords:
: 140187 141010 147185 (view as bug list)
Depends on: 150050
Blocks:
  Show dependency tree
 
Reported: 2008-08-11 11:04 UTC by Tomas Mysik
Modified: 2009-02-19 22:52 UTC (History)
2 users (show)

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomas Mysik 2008-08-11 11:04:48 UTC
Not sure about priority, maybe P3...

----- %< -----
include_once("ProjectLib.php");

[...]

ProjectLib::PriceFormat($this->outobjects['cart']->GetTotalPrice());
----- %< -----

If I CTRL+click on "PriceFormat" or even on "ProjectLib", for a few seconds AWT is blocked and then nothing happens.
(In PDT it works without any problem.)
Comment 1 Petr Pisl 2008-08-15 09:10:57 UTC
There are some problems. The navigation to the super class basically doesn't work as well. The same for interfaces. Also
I have found many performance problems. I will try to fix as much as I can. 
Comment 2 Petr Pisl 2008-08-15 09:13:33 UTC
*** Issue 140187 has been marked as a duplicate of this issue. ***
Comment 3 Petr Pisl 2008-08-21 15:26:45 UTC
I have fixed the extend case.

class A extends B|B {
....

The fix is in the trunk:  97346:b16273f702cd

There has to be fixed other cases as well. 
Comment 4 Quality Engineering 2008-08-22 05:59:04 UTC
Integrated into 'main-golden', available in build *200808220201* on http://bits.netbeans.org/dev/nightly/
Changeset: http://hg.netbeans.org/main/rev/b16273f702cd
User: Petr Pisl <ppisl@netbeans.org>
Log: #143426 : the issue is not fully fixed yet. There has to be fixes in other situation as well.
Comment 5 rmatous 2008-08-27 14:00:31 UTC
*** Issue 141010 has been marked as a duplicate of this issue. ***
Comment 7 rmatous 2008-09-03 18:27:57 UTC
Still many use cases when doesn't work well, but I would say much better now.
Comment 8 koubel2 2008-09-03 22:56:08 UTC
If I have code ClassName::myMethod($param);
jump to myMethod works, but jump to ClassName not, better then nothing in comment #1, 
but still doesn't work as expected
Comment 9 Quality Engineering 2008-09-04 06:04:39 UTC
Integrated into 'main-golden', will be available in build *200809040201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/a37dbdaa2cd4
User: Radek Matous <rmatous@netbeans.org>
Log: #143426 Navigate to source does not work often
Comment 10 rmatous 2008-09-04 10:00:58 UTC
Hi koubel2, for this static method invocation ClassName::myMethod($param)  both cases should work now:
1/ goto myMethod
2/ goto ClassName

Its covered by many tests, just for this case I would say it works fine. Naturally there may be a special case when it
doesn't work.

Be aware it was fixed yesterday evening (Sep 03). So, are you sure you have a fresh build? If not, you can download one
from http://deadlock.netbeans.org/hudson/job/PHP-build/.

If the problem still exists, even with current builds, then please let me know, I would like o evaluate and fix it,
thanks in advance.
Comment 11 rmatous 2008-09-05 09:08:24 UTC
koubel2, marek, please could you confirm that goto class name (MyCls::mystaticmeth()) works, thanks?
Comment 12 koubel2 2008-09-05 23:51:03 UTC
It seems good, I tested both mentioned jumps for MyClass::staticMethod, good work

I have another jump to declaration problem, little bit more complicated (maybe it is in category 'special case when it
doesn't work' because to determine real return values/types in dynamic weak type language like php isn't possible)

$app = HomeWebApp::getInstance(); //static factory/singleton
$logOutput = $app->getLog();

jump to declaration of getLog() method doesn't work

with dynamic creation like $app = new HomeWebApp(); jump to getLog() works


Comment 13 Tomas Mysik 2008-09-06 07:53:05 UTC
koubel2, do you have correct PHPDoc (@return ClassName) for HomeWebApp::getInstance() method?

BTW. Radku, please notice that the return type can be "int or string", look at 
http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.return.pkg.html. But I don't think we 
have to support this feature in NB 6.5 FCS, it should not be so common case.
Comment 14 rmatous 2008-09-06 16:44:05 UTC
thanks kouba2, your observation is exactly how it should now work. Goto declaration doesn't use phpdoc info for type
recognition yet, which code completion does. Still room for improvements, thanks for feedback. 
Comment 15 rmatous 2008-09-19 15:58:20 UTC
references in formal parameters:
http://hg.netbeans.org/main/rev/8417cc1406f8
Comment 16 rmatous 2008-09-22 11:17:55 UTC
types in implements, extends:
http://hg.netbeans.org/main/rev/f4ba970242c8
Comment 17 rmatous 2008-09-22 11:23:24 UTC
types in formal paremeters:
http://hg.netbeans.org/main/rev/f7b6b9b50dd0
Comment 18 rmatous 2008-09-23 14:47:50 UTC
types, vars in catch, instanceof
http://hg.netbeans.org/main/rev/6a93b63a09d1
Comment 19 rmatous 2008-09-23 14:55:43 UTC
*** Issue 147185 has been marked as a duplicate of this issue. ***
Comment 20 rmatous 2008-09-25 17:22:43 UTC
arrays && their indexes:
http://hg.netbeans.org/main/rev/6c881a5cba3b
Comment 21 rmatous 2008-10-15 14:35:09 UTC
Should be improved in 7.0 - depends on #150050
Comment 22 rmatous 2008-10-15 14:54:19 UTC
*** Issue 146548 has been marked as a duplicate of this issue. ***
Comment 23 rmatous 2008-10-16 10:27:41 UTC
Suggested to open goto symbol whenever impl. doesn't know where to jump.
Comment 24 Mikhail Matveev 2008-11-14 19:13:33 UTC
Upgrading to P2 since it has a P2 duplicate.
Comment 25 rmatous 2008-12-09 09:47:09 UTC
rewritten from scratch for NB7.0 milestone 1. More reliable now, generally should work. If any problem, please file new
specific issues.