so the patch will be part of your next release? if so, any estimations when
this will be?

I'm asking because i can't provide my plugin to testers before that.


thanks!


-robert



On 6/27/11 9:57 AM, 赵忠伟 wrote:
hi,

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

2011/6/27 Robert Gründler <[email protected] <mailto:[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]
    <mailto:[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]
        <mailto:[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] <mailto:[email protected]>
        https://dev.eclipse.org/mailman/listinfo/pdt-dev




--
    Thanks!

    Best Regards!

    Zhao


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


    _______________________________________________
    pdt-dev mailing list
    [email protected] <mailto:[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

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

Reply via email to