[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [pdt-dev] code assist development

Hi Philip,

We don't have any policy regarding which extensions get included - all the extensions enabled at the generation time are included.

Best regards,
Michael

2009/10/22 Philip Olson <philip@xxxxxxxxxxxx>

On Oct 19, 2009, at 9:04 AM, Michael Spector wrote:

Hi Philip,

We do a real black magic, when generating stubs for all native PHP elements.
First of all, we use reflection mechanism for building a multi-array of all existing elements. Then we refer to the PHPDoc for the documentation on elements that were found. The problems that we run into are usually:

1. Reflection doesn't contain needed information (class properties, namespaces, etc...)
2. PHPDoc XML is not standard in many cases (constant values, etc...)
3. Missing PHPDoc :)

You can look at this script for better understanding of what's happening: http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.pdt/plugins/org.eclipse.php.core/Resources/language/generate.php?root=Tools_Project&view=markup

Greetings Michael,

We're looking now, and hope to offer tools to make this easier fairly soon. There are a few headaches like dealing with functions that are both OOP and procedural, and a few others, but overall I think we can provide a cleaner solution that parses generated XML as to not worry about entity replacements. Moacir has been working on an IDE package for PhD. Our build system is named PhD, the system that turns DocBook into magic.

What is your policy regarding which extensions get included? It appears to be "all that we can possibly find" which is understandable but maybe an official policy exists.

And while running generate.php I stumbled upon a bug in PHP. The get_defined_constants(true) internal constants are labeled as 'Core' instead of 'internal' in PHP 5.3.0. And while some feel 'Core' is better (more consistent, like with Reflection), it appears it'll be changed back to 'internal' so anyway that's that.


Regards,
Philip


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