When I have a function that returns an object, Intellisense works properly on that returned object. However, if a member function of that object returns yet another object, Intellisense does not work on the second object. It treats the second object as being the same as the first object, even if it is completely separate.

For Example:

class c1 { public function GetC2Type()   {} }
class c2 { public function GetC3Type()   {} }
class c3 { public function DoSomething(){} }

$MyC1 = new c1();
$MyC2 = $MyC1->GetC2Type();
$MyC3 = $MyC2->GetC3Type();
$MyC3->

At this point, Intellisense should be suggesting "DoSomething()". Instead, it is suggesting "GetC3()"

Just to make it clear, I have used the "Insert Comment" functionality to give each of these functions the proper phpdoc comments. I left them out for the sake of brevity.

In an even more complicated, but similar situation, I've had VS.PHP crash. I can't reproduce this, however.

Is this a known limitation of VS.PHP, a bug, or am I just doing something wrong?

[Using: VS.Php 2.8 for Visual Studio 2008 version 2,8,1,6178.]

juanc says:

If you make it crash again, please capture a memory dump. Attach the debugger and under the debug menu there is an option to save it.

Could you send me a sample project with the intellisense issue you are having? This looks like a bug to me as this should work just fine.