hi,

yes,I just want to make a patch like yours for you:)

2011/6/27 Robert Gründler <[email protected]>

> **
> Hi,
>
> yes, i've tried that, but the extensions array in the PHPIndexingVisitor is
> private,
> so i can't simply override the constructor and cast them to my own
> Extensions.
>
> This is the plugin.xml of my current implementation:
>
>
> https://github.com/pulse00/Symfony-2-Eclipse-Plugin/blob/master/org.eclipse.symfony.core/plugin.xml#L63
>
> I've created a patch though to pass the requestor over to the
> PhpIndexingVisitorExtension (attached).
>
> Couldn't find another way to actually add elements to the Sql Index.
>
> Am i missing something?
>
>
> -robert
>
>
>
>
>
> On 6/27/11 8:52 AM, 赵忠伟 wrote:
>
> hi Robert ,
>
> Do you implement your own IndexingVisitor?
> btw,does it make sense if we pass requestor(IIndexingRequestor) to
> PhpIndexingVisitorExtension ?
>
>
> 2011/6/25 Robert Gründler <[email protected]>
>
>> sorry for spamming the list, but there's really not much information in
>> the net available concerning PDT indexing.
>>
>> I've followed the "contributing to index" chapter in the wiki
>> http://wiki.eclipse.org/Extending_PDT_2.2#Contributing_to_index
>> but i'm not sure if this is still up-to-date, because when i contribute
>> additional fields to a TypeDeclaration,
>> nothing appears in code assist for $this-> in that class.
>>
>> What confuses me is that a PDT Indexing Extension needs to subclass
>> PhpIndexingVisitorExtension
>> and provide declarationinfos using modifyDeclaration() calls.
>>
>> However, the modifyDeclaration() method in the PhpIndexingVisitorExtension
>> is completely empty,
>> as apposed to the PhpIndexingVisitor which calls
>> requestor.addDeclaration(info) in this method.
>>
>> The requestor is not available to extensions though.
>>
>> My IndexingVisitor does basically the same like the one in the Wiki
>> (inside the endVisit(TypeDeclaration) method):
>>
>>                 DeclarationInfo info = new
>> DeclarationInfo(IModelElement.FIELD,
>>                         Modifiers.AccPublic, start, length, start, length,
>> name,
>>                         null, null, namespace.getName(),
>> currentClass.getName());
>>
>>                 modifyDeclaration(field, info);
>>
>> Do i need to specify an implementation for the modifyDeclaration() method
>> in my indexer as well?
>>
>>
>> thanks!
>>
>> -robert
>>
>>
>>
>>
>>
>>  2011/6/24 Robert Gründler <[email protected]>
>>
>>> Hi,
>>>
>>> a lot of PHP Frameworks implement the MVC pattern, and i'm wondering
>>> what's the
>>> best way to provide codeassist for PHP variables in files that have been
>>> declared
>>> in other SourceModules.
>>>
>>> Let's say you have the class UserController with the method showUser()
>>> (in /UserController.php)
>>>
>>> ... class declaration
>>>
>>> public function showUser() {
>>>
>>>   $user = UserDAO::retrieveUserByID($id);
>>>   return array('showUser.php', array('user' => $user'))
>>>
>>> }
>>>
>>> The framework then renders the file 'showUser.php' and passes in the
>>> $user object
>>> as a variable named $user.
>>>
>>> What i have done right now is the following:
>>>
>>> 1. In the SourceElementRequestor extension i visit the ReturnStatements
>>> of methods in Controller
>>> classes.
>>> 2. I detect the variables returned by that method and store it in some
>>> custom Singleton.
>>> 3. Register a completionContext/Strategy which retrieves the correct
>>> variables for the current php file from the Singleton.
>>>
>>> This approach works, though it doesn't feel properly integrated into the
>>> DLTK/PDT model, as
>>>
>>> 1. I'm simply storing the ViewVariable in-memory in my singleton, so
>>> after Eclipse relaunches, the whole project needs to be rebuilt for
>>> completion to work.
>>> 2. I'm getting ConcurrentModificationExceptions in my Singleton class
>>> during the BuildPhase as apparently the SourceParsing
>>> takes place in multiple threads.
>>>
>>> So my question is, is there a way to contribute those Variables which are
>>> being passed to the View-Templates properly to the DLTK/PDT model ?
>>>
>>>
>>> regards,
>>>
>>> -robert
>>>
>>>
>>>
>>>
>>
>> _______________________________________________
>> pdt-dev mailing list
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/pdt-dev
>>
>>
>
>
> --
>
> Thanks!
>
> Best Regards!
>
> Zhao
>
>
> _______________________________________________
> pdt-dev mailing 
> [email protected]https://dev.eclipse.org/mailman/listinfo/pdt-dev
>
>
>
> _______________________________________________
> pdt-dev mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/pdt-dev
>
>


-- 

Thanks!

Best Regards!

Zhao
_______________________________________________
pdt-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/pdt-dev

Reply via email to