Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [pdt-dev] Use of PHPMixinModel


You should implement your library initializer just like PHP Language library is initialized:

<extension point="org.eclipse.dltk.core.buildpathContainerInitializer">
<buildpathContainerInitializer
class="org.eclipse.php.internal.core.language.LanguageModelInitializer"
id="org.eclipse.php.core.LANGUAGE">
</buildpathContainerInitializer>
</extension>

I've tried this, but our Initializer never gets created. Does our ProjectNature need to extend ScriptNature for this to work ?

The extension point looks like this right now:


  <extension
        point="org.eclipse.dltk.core.buildpathContainerInitializer">
     <buildpathContainerInitializer
class="net.sourceforge.sfdt.core.SfBuildpathContainerInitializer"
           id="net.sourceforge.sfdt.core.SYMFONY">
     </buildpathContainerInitializer>
  </extension>

The implementation looks similar to LanguageModelInitializer of PDT.


thanks,

-robert


    2. Basically, in our model specific functions of specific classes
    can have one or more ISourceModules as child elements, based on
    the mvc
      architecture of the framework. Is it possible to contribute
    those ISourceModules as child nodes to php methods of the pdt
    model, ie those
      children would be visible in the outline of that class mehod ?


I'm not sure that you can create an ISourceModule as a child element of IMethod using Source Element Requestor. BTW, there is new extension point in DLTK called "model", which is intended for using in order to provide custom model elements to DLTK structured model.
But we never used it - it's too new :)

I'm CC'ing DLTK developers list, may be they can shed some light on this question.


    I have found this wiki entry
    http://wiki.eclipse.org/API_Document_for_Extension_Points_PDT_2.0#PHP_Source_Element_Requestor.
    Is
    this the intended way of achieving what i described in the 2nd
    question ?


    thanks for your help !


    -robert





    Michael Spector schrieb:

        Hi Robert,

        We are planning to remove any usage of PHPMixinModel. We
        should move to DLTK indexing mechanism instead, once it's
        improved.
        For now, only global variables, global constants and include
        statements are indexed using PHPMixinModel.
        If you need to find some model element, please use one of the
        following utilities:

        PHPModelUtils
        PHPTypeInferenceUtils

        Thanks,
        Michael

        On Fri, Jun 12, 2009 at 8:52 PM, Robert Gruendler
        <doobre@xxxxxxxxx <mailto:doobre@xxxxxxxxx>
        <mailto:doobre@xxxxxxxxx <mailto:doobre@xxxxxxxxx>>> wrote:

           Hi all,


           i'm member of a sourceforge team which is working on an eclipse
           plugin for the symfony php framework.

           Currently i'm trying to dig into the pdt code to get some basic
           understanding of how the pdt php-model works.

           As far as i've understood, we can use the PHPMixinModel
        class to
           search for elements in the workspace PHP-Model.

           So let's say, there's a class "Foo" somewhere inside an pdt
           project, should we be able to retrieve an instance of
           IMixinElement when searching the model with the following code:

           PHPMixinModel.getWorkspaceInstance().getRawModel().get("Foo");

           This call would query the model cache and return all
        elements that
           match to the key "Foo", if i understood it right.
           For some reason however, i never get any elements back, no
        matter
           what i'm searching, also tried find() instead of get() btw.
           Do we need to add some PHP extension point to our plugin to
        make
           use of the MixinModel ?


           Any hints would be greatly appreciated, thanks !


           -robert


           ps: Is there any API documentation available somewhere for
        either
           PDT of DLTK ?


           _______________________________________________
           pdt-dev mailing list
           pdt-dev@xxxxxxxxxxx <mailto:pdt-dev@xxxxxxxxxxx>
        <mailto:pdt-dev@xxxxxxxxxxx <mailto:pdt-dev@xxxxxxxxxxx>>

           https://dev.eclipse.org/mailman/listinfo/pdt-dev


        ------------------------------------------------------------------------



        _______________________________________________
        pdt-dev mailing list
        pdt-dev@xxxxxxxxxxx <mailto:pdt-dev@xxxxxxxxxxx>
        https://dev.eclipse.org/mailman/listinfo/pdt-dev

    _______________________________________________
    pdt-dev mailing list
    pdt-dev@xxxxxxxxxxx <mailto:pdt-dev@xxxxxxxxxxx>
    https://dev.eclipse.org/mailman/listinfo/pdt-dev





Back to the top