Eclipse Object Teams 2.2.0
Primary tabs
Release Date:
Wednesday, June 26, 2013
Deliverables:
The Object Teams Development Tooling comprises three features:
-
org.eclipse.objectteams.otdt.core.patch:
wraps the OT variant of org.eclipse.jdt.core -
org.eclipse.objectteams.otequinox:
6 plug-ins comprising the OT/J and OT/Equinox runtime -
org.eclipse.objectteams.otdt:
13 plug-ins providing IDE functionality for working with OT/J
Additionally, the OT/J compiler is provided as a separate jar for command line compilation.
Compatibility:
Version 2.2.0 does not introduce any incompatible changes.
Internationalization:
Strings used in the UI are externalized.
Target Environments:
- Required JRE: 1.5 or greater.
- Comannd line compiler has no further dependencies
- OTDT 2.2.0 requires Eclipse Kepler
Themes:
Improve refactoring support
Existing refactorings like Pull-Up are improved to better support OT/J specific constructs
A new refactoring Move to Role File is introduced to support migration from a monolithic file structure to leveraging the OT/J concept of role files in team packages.
Bugfixes for other refactorings.
- pull-up wrongly claims necessity to adjust base method visibility [408502]
(target milestone: 2.2 RC1) - move to role file with preceding field declaration fails [410226]
(target milestone: 2.2) - missing update of base import during renaming or moving a base class [367605]
(target milestone: 2.2 M2) - change method signature in a callin method should adjust base-calls accordingly [374822]
(target milestone: 2.2 RC1) - pull up does not work among (nested) roles [374841]
(target milestone: 2.2 M1) - renaming base package fails to rename base import [382185]
(target milestone: 2.2 M5) - change inline role to role file and vice versa [382186]
(target milestone: 2.2 M7) - pull-up refactoring cannot handle callout bindings [386587]
(target milestone: 2.2 M1) - pull-up should distinguish callouts that can be pull-up vs.
abstract decl. [386814] (target milestone: 2.2 M1) - change signature fails if role method is bound in a signature-less callin [389850]
(target milestone: 2.2 M2) - pull-up with "use the destination type where possible" throws StackOverflowError [393915]
(target milestone: 2.2 M3) - renaming an argument with declared lifting fails to rename occurrences [394037]
(target milestone: 2.2 M4) - "use supertype where possible" does not work with declared lifting [394055]
(target milestone: 2.2 M3) - pull-up refactoring wizard should offer callout bindings for deletion [408488]
(target milestone: 2.2 RC1) - NPE when changing callin-bound method from 'int' to 'void' [410127]
(target milestone: 2.2) - change signature of callin-bound method creates wrong parameter mappings [410129]
(target milestone: 2.2)
Support run-time weaving
An alternative byte code weaver has been developed for supporting run-time weaving. The code has been transferred to git at eclipse.org.
Maturing this implementation is still ongoing work. This item will not be shipped with OTDT 2.2.0.
No items.
Adopt Java 8
Integration with Java 8 will follow the progress in JDT. Originally a release was planned for Kepler SR1, but due to the delay in the Java 8 schedule, also OTDT has to defer any support for Java 8 to Luna (OTDT 2.3.0).
Bugfixing
OTDT is already a feature-rich IDE. Hence a significant effort goes into fixing reported bugs as opposed to developing new features.
- too much time spent in SourceTypeBinding.
findTypeInTeamPackage() [390059] (target milestone: 2.2 M2) - fails to resolve callout-to-field with path-anchored type [400360]
(target milestone: 2.2 M6) - role field with anchored role type breaks implicit inheritance [400362]
(target milestone: 2.2 M6) - No enclosing instance of the type TOuter.
T1 is accessible in scope - layered team and inheritance [400404] (target milestone: 2.2 M6) - resolve error re lifting constructor with implicit playedBy refinement [400833]
(target milestone: 2.2 M6) - Possible bug with the layering of teams (or stacking of teams) [403396]
(target milestone: 2.2 M6) - Formatter fails on base-call [406316]
(target milestone: 2.2 M7) - NPE in ImplicitNullAnnotationVerifier.
collectOverriddenMethods() [406583] (target milestone: 2.2 M7) - fails to decode team anchor reference if name contains a 'D' [406603]
(target milestone: 2.2 M7) - in search result method with anchored type has no icon [406609]
(target milestone: 2.2 M7) - role file found in a supposed default package confuses the compiler [407223]
(target milestone: 2.2 M7) - does not support the 'team' package modifier [407443]
(target milestone: 2.2 M7) - EmptyStackException when comparing OT.
J classes [408458] (target milestone: 2.2 RC1) - pull-up wrongly claims necessity to adjust base method visibility [408502]
(target milestone: 2.2 RC1) - base constructor call fails to resolve to role of an outer enclosing team [409075]
(target milestone: 2.2 RC2) - move to role file with preceding field declaration fails [410226]
(target milestone: 2.2) - use AccSynthetic for synthetic classes .
interfaces at 1. 7+ [433957] (target milestone: 2.2 M7) - VerifyError due to bogus lowering in inferred callout-to-field [354480]
(target milestone: 2.2 M2) - missing update of base import during renaming or moving a base class [367605]
(target milestone: 2.2 M2) - sporadic duplication of callins in CallinMappingTest.
testExistenceOfMappings() [374752] (target milestone: 2.2 M2) - Complain when base plugin of an aspectBinding cannot be resolved [374833]
(target milestone: 2.2 M3) - callout completion after parameter mapping garbles the code [374840]
(target milestone: 2.2 M1) - pull up does not work among (nested) roles [374841]
(target milestone: 2.2 M1) - support @Override for role method implementing an interface method [381790]
(target milestone: 2.2 M3) - renaming base package fails to rename base import [382185]
(target milestone: 2.2 M5) - formatter fails for role bound to dependent type [382187]
(target milestone: 2.2) - NPE in copyRole() when commenting out roles in a nested team .
role file [382188] (target milestone: 2.2 M3) - handle callout bindings like methods [386610]
(target milestone: 2.2 M2) - Requesting AST throws NPE if base call's type is unresolved [386704]
(target milestone: 2.2 M1) - illegal modifiers generated for callout to static field [387077]
(target milestone: 2.2 M1) - type mismatch in signature-less c-t-f with array type causes NPE [387236]
(target milestone: 2.2 M1) - "T cannot be resolved or is not a field" error due to field named like package [387996]
(target milestone: 2.2 M2) - closeable role triggers resource warning from lift method [388060]
(target milestone: 2.2 M2) - change signature fails if role method is bound in a signature-less callin [389850]
(target milestone: 2.2 M2) - decapsulation warning for final base class is not reported [390057]
(target milestone: 2.2 M2) - CCE in AdaptorActivator when modifying the source attachment of a required plugin [390149]
(target milestone: 2.2 M2) - Internal compiler error.
Corrupt byte code [391290] (target milestone: 2.2 M3) - false-report (nested class): interface cannot be implemented more than once [391876]
(target milestone: 2.2 M3) - VerifyError caused by super call within team constructor using declared lifting [393072]
(target milestone: 2.2 M3) - pull-up with "use the destination type where possible" throws StackOverflowError [393915]
(target milestone: 2.2 M3) - completing a method call does not propose an argument with declared lifting [394034]
(target milestone: 2.2 M3) - completion fails to propose role creation [394035]
(target milestone: 2.2 M3) - renaming an argument with declared lifting fails to rename occurrences [394037]
(target milestone: 2.2 M4) - "use supertype where possible" does not work with declared lifting [394055]
(target milestone: 2.2 M3) - template proposals not working after a base call [394061]
(target milestone: 2.2 RC1) - Team with generic type parameter causes role inheritance error [394263]
(target milestone: 2.2 M4) - Hang in org.
eclipse. objectteams. otdt. internal. pde. ui. ExtensionEditorAdaptor. XMLUtil. createDefaultPackageName() [394708] (target milestone: 2.2 M4) - role of static inner of an inaccessible outer cannot resolve base methods [395746]
(target milestone: 2.2 M4) - completion in c-t-f parameter mapping hangs [395762]
(target milestone: 2.2 M4) - Deadlock in TransformerHook.
recordClassDefine() [396697] (target milestone: 2.2 M4) - cannot bind to a static role method [397235]
(target milestone: 2.2 M5) - unable to handle multi-segment team anchor in playedBy clause [397236]
(target milestone: 2.2 M5) - illegal bytecode from chains of team constructors [397712]
(target milestone: 2.2 M5) - reconciler does not understand role hierarchy involving role file [397851]
(target milestone: 2.2 M5) - illegal access to invisible method via callin binding not detected [397867]
(target milestone: 2.2 M5) - Team monitor shows no team instances [397871]
(target milestone: 2.2 M5) - Using field of enclosing team as team anchor causes illegal bytecode to be created [397878]
(target milestone: 2.2 M5) - In three layers of teams anchor equivalence is not recognized [397897]
(target milestone: 2.2 M5) - Callout to private field of deeply nested class gives compile error [399781]
(target milestone: 2.2 M5) - Update doc bundle for Kepler [408440]
(target milestone: 2.2) - NPE when changing callin-bound method from 'int' to 'void' [410127]
(target milestone: 2.2) - change signature of callin-bound method creates wrong parameter mappings [410129]
(target milestone: 2.2) - display role files logically is broken [410266]
(target milestone: 2.2)
This release is part of Kepler.