Don't need the typechecker anymore
Delegating Package used to typecheck a single source file with an
existing model
Allow the JDTModuleManager to have a null javaProject
Bug : Packages cached with the wrong key (without the module part)
Allow using the JDTModelLoader with a null javaProject
Add the IProjectAware interface in the IDE Unit derived classes
When lazily setting/creating the PhasedUnit reference, return the
PhasedUnit, so that at least a reference exist on it until we return it
outside
Allow retrieve PhasedUnits from module archives :
- For source archives (.src), PhasedUnit objects are stored as WeakRefs
to the PhasedUnit instances returned by
Typechecker.getPhasedUnitOfDependencies()
- For binary archives (.car), PhasedUnit objects are constructed lazily
from the corresponding source archive (local typechecking against the
existing model) and stored in the as Soft references so that the related
memory can be freed if required.
Give names to each Hyperlink detector since in the future they might
both appear at the same time (classes implemented in both Ceylon and
Java)
Don't display the JavaHyperlink if it's a Ceylon binary unit (loaded
from a .class) that was fully implemented in Ceylon.
Now use JDTModule.getPhasedUnits() on all archive modules instead of
Typechecker.getPhasedUnitsOfDependencies() (which didn't scan the source
of binary units)
Rework of the CeylonParseController to :
- Directly use the PhasedUnit of dependencies located in archives
without even parsing,
- Create a Typechecker with a JDTModuleManager (exactly the same way as
we do in the Ceylon Builder) (which will solve #717),
- Use the newly-created SingleSourceUnitPackage to assign it to the
newly created EitedPhasedUnit (Creating a new Package and adding units
was error prone in regard to the model loader).
Activate binary-loading of Ceylon dependencies
Add a System property to enable load-from-properties
Don't load dependencies from binaries on source modules (also for
dependent projects)
Simply return the existing Package in findOrCreateModulelessPackage
(else it duplicates packages inside the module)
Wrap the CeylonParseController typechecking steps inside a Job with the
root scheduling rule (to avoid declaration lazy loading of obsolete
declarations while the incremental build is being performed)
Abstract the parsing steps
Add PhasedUnits for the modules defined in source files (as required by
the compiler)
Add a way to retrieve the Project Modules container for a project