Type inference for APDT
The Aspect PHP Development Tools (APDT) project provides Eclipse platform based tool support for AOSD with PHPAspect. Our goal is to deliver a user experience that is consistent with the PHP Development Tools (PDT) when working with PHPAspect projects and resources. This plugin provides an integration layer between the PHPAspect weaver, runtime and Eclipse/PDT extension points.
Due to the highly dynamic nature of PHP, most of PHPAspect joinpoints can't be determined statically: PHPAspect weaves hooks in the source code in order to perform type checking at runtime. When a project is woven, a significant amount of hooks can be inserted in the source even though it be can statically analyzed that none of these hooks will trigger a code-advice: this is where type inference comes in.
APDT and PDT have both an integration layer with DLTK which as an experimental type inference framework used to improve code analysis on dynamic languages.
The type inference could be also used to improve APDT UI by providing aspect type information in the editor.
- Student: William Candillon
- Mentor: Michael Spector
Getting the source
The source is available on APDT SVN repository . In order to run APDT you need all the projects except PHPAspectTest, org.phpaspect.apdt.test, org.phpaspect.weaver.test.
- Improved code completion in the APDT editor.
- Quick assist markers in the APDT editor, like AJDT provides (semantic analysis).