Release Notes for the OTDT v1.1.x
- TPX-123
- Reference to the issue tracker (at FIRST) (login required)
- 1.2.3-otjld-some-name-4
- Reference to jacks tests case
- SomeTestClass
- Reference to junit tests case
- OTJLD § 1.2(b)
- Reference to paragraph in the language definition (OTJLD)
Release 1.1.9Apr 07, 2008
- Jacks suite test results for release 1.1.9
- JUnit suite test results for release 1.1.9
- Diffs in test results v1.1.9 wrt. the previous version
Release 1.1.8Mar 08, 2008
- Jacks suite test results for release 1.1.8
- JUnit suite test results for release 1.1.8
- Diffs in test results v1.1.8 wrt. the previous version
Release 1.1.7Feb 05, 2008
- Jacks suite test results for release 1.1.7
- JUnit suite test results for release 1.1.7
- Diffs in test results v1.1.7 wrt. the previous version
Release 1.1.6Jan 04, 2008
- Jacks suite test results for release 1.1.6
- JUnit suite test results for release 1.1.6
- Diffs in test results v1.1.6 wrt. the previous version
- Trac listing of resolved issues
-
Team Monitor view: several small improvements:
- Improved detection of suspended threads and handling of focus changes.
Avoids blanking of the team view observed when changing the debug focus. - Support (de)activating a team for all threads by selecting the debug target instead of a specific thread in the debug view and then using the context menu in the team monitor view.
- Improved detection of suspended threads and handling of focus changes.
-
Compiler: Generated code for a buggy callin method did not store the
callin
flag, which caused anInternalCompilerError
when reading this class file.
4.1.1-otjld-before-callin-binding-3f - Compiler: Early adoption of Eclipse bug #209961 which caused exporting the OTDT plugins to fail when running on a Java 6 VM.
Also:
Release 1.1.5Dec 18, 2007
- Jacks suite test results for release 1.1.5
- JUnit suite test results for release 1.1.5
- Diffs in test results v1.1.5 wrt. the previous version
- Trac listing of resolved issues
-
Quickfix: More scenarios for quickfix "Add team anchor to role type":
- also offer this quickfix for "MissingTeamAnchor" problem
- also offer method parameters as anchor
- reduce qualified role name to single name
-
Quickfix: Support quickfixes regarding unresolved method references also for role method spec in a callin binding.
- Rename method spec to match an existing method
- Create new method to match the method spec
-
OTJLD/Compiler: Cannot allow callin binding to inherited private base method, new rule OTJLD § 4.6(a) in analogy to OTJLD § 3.4(d)
4.1.5-otjld-nonexisting-base-method-3h -
Compiler: More robust strategy to analyze consistency between
import base
and declaredaspectBinding
.
org.objectteams.otdt.test.builder.OTEquinoxBuilderTests -
Compiler: More robust compilation order for implicit inheritance (copy inheritance).
org.objectteams.otdt.test.builder.CompilationOrderTests -
Compiler: Fixed array lifting/lowering for callin with a base call.
4.4.6-otjld-callin-array-arg-lifting-1 - OTRE: Protect internal generated team activation infrastructure for concurrent access.
-
OTRE: Safeguard against an
ArrayIndexOutOfBoundsException
within generated method_OT$removeTeam
.
5.2.16-otjld-activation-bug-2
Also:
Release 1.1.4Nov 04, 2007
Issue tracking migrated to new Trac portal.
- Jacks suite test results for release 1.1.4
- JUnit suite test results for release 1.1.4
- Diffs in test results v1.1.4 wrt. the previous version
- Trac listing of resolved issues
- Launching: Support the team monitor even for OT/JUnit launches.
-
Runtime Environment: Bugfix: the OTRE previously generated
invokevirtual
instructions to invoke a private orig-method. Sun's JVM silently ignored this bug, but the JamVM, e.g., refuses to execute the erroneous instruction. - CallHierarchy: Support call hierarchy of all write accesses to a given field, i.e., exploring all control flows that result in writing to the given field. A similar patch has also been submitted to Eclipse bug #75800.
Also:
Release 1.1.3Oct 03, 2007
- Jacks suite test results for release 1.1.3
- JUnit suite test results for release 1.1.3
- Diffs in test results v1.1.3 wrt. the previous version
- OT/Equinox: New launch configuration type "OT/Equinox Appliction", for running OT/Equinox bundles without an Eclipse runtime workbench.
-
OT/Equinox: Support teams adapting classes from their own enclosing plug-in (bundle). This is achieved by declaring an aspect binding in the
plugin.xml
with the pseudo base plug-in "SELF
". Activation is declared as usual using eitherNONE
,THREAD
orALL_THREADS
. - OT/Equinox & OTRE: Reduce eager loading of classes but only scan the byte code attributes instead. Fixes a racing condition in Eclipse (bug 204829) by which the dialog for choosing a workspace was not shown.
-
OT/Equinox: Further protection against potential dead lock in the
BridgeClassloader
by explicit locking. - OT/Equinox: Correctly detect and transform nested teams.
-
OTJLD/Compiler: Support callin bindings to base methods with covariant return types by appending "
+
" to the type name. For replace callins this requires the role side to use a generic signature in order to avoid class cast exceptions.
OTJLD § 4.9.3(c), 4.1.39-otjld-callin-binding-with-plus-1 up-to -8 -
Compiler: Allow a callout binding to refine the return type of an inherited role method (covariance and refining a raw type to a parameterized type).
A.1.8-otjld-callout-redefines-inherited-1, A.1.8-otjld-callout-redefines-inherited-2 - Compiler: Interim fix for Eclipse bug 204749 (NPE when JavadocQualifiedTypeReference cannot be resolved).
- Compiler: For references within javadoc don't apply strict type checking requiring dependent types.
-
Compiler: Further improved the control of the compilation order. NPEs were reported caused by the
CallinMarkerCreator2
andCompilationUnitProblemFinder
when working with certain role files of the Disposition and OTPong case studies. -
Compiler: Correct typing of return type of
tsuper
call incallin
method (here: basic types).
X.1.1-otjld-binding-inheritance-8a -
Compiler: More complete support for role types as a type parameter, especially if implicit inheritance applies to the role type.
A.1.2-otjld-generic-role-feature-6, ff. - Quickfix: Add type parameter to a callin and its role method according to new rule OTJLD § 4.9.3(c).
-
Completion: Support completing after
playedBy
to produce the common pattern where role and base class share the same name. Previously, completion incorrectly treated this as a name clash, but actually the name clash is avoided by using a base-import for the base class.
org.objectteams.otdt.tests.model.OTCompletionTests .testCompletionBaseclassDecapsulation2 -
Wizards: Role creation now supports to implement abstract methods inherited from implicit super role, too.
TPX-464 -
Outline: Support drag-and-drop re-ordering of method bindings.
TPX-375 - Help: Enable context menu option "Go To Language Definition" only on errors explicitly referring to the OTJLD.
-
Tests: Upgrade OT-specific JUnit tests to use Java compliance 1.5. This surfaced a number of omission in the implementation like analysis of
@Override
annotations in the presence of implicit inheritance.
Release 1.1.2Sep 07, 2007
- Jacks suite test results for release 1.1.2
- JUnit suite test results for release 1.1.2
- Diffs in test results v1.1.2 wrt. the previous version
-
OTJLD/Compiler: Support inferred callouts:
An implicit inference tries to resolve unimplemented inherited methods and unresolvable self-calls by creating corresponding callout bindings (no adjustments besides lifting/lowering are considered).
Inferred callouts create a configurable diagnostic with token"inferredcallout"
.
OTJLD § 3.1(j), 3.1.17-otjld-inferred-callout-1 ff. -
OTJLD/Compiler: Grammar enhancement: do allow method bindings in a role interface.
Such bindings affect all role classes implementing the interface.
0.b.5-otjld-role-interface-with-role-members-2i, 0.b.5-otjld-role-interface-with-role-members-3 -
OTJLD/Compiler: Exception to rule OTJLD § 4.4(b): parameter mappings of a callin replace binding may now use cast expressions (which are perfectly reversible).
4.3.2-otjld-expression-in-replace-parameter-mapping-10. -
Batch compiler: Option
-help:warn
also lists the OT/J-specific warnings that can be configured. - Quickfix: New quickfix to materialize inferred callouts (cf. OTJLD § 3.1(j)).
- Quickfix&Completion: When creating a callout via quickfix or completion insert proper imports and use short names for types in signatures.
-
Completion: Consider static base methods for generating callout.
org.objectteams.otdt.tests.model.OTCompletionTests.testCompletionCalloutDeclaration4() - Quickfix: Support quickfixes for imports with warnings. Anticipates upcoming patch for Eclipse Bug #201203
-
Quickfix: It is now possible to create a missing method in the enclosing team of a role file (i.e., into a different compilation unit).
TPX-470 -
Rewrite: More complete re-writing of OT/J-constructs, here:
within(), tsuper(), base()
statements. This allows to refactor sub-expressions of these constructs.
org.objectteams.otdt.ui.tests.refactoring.extractmethod.ExtractTempTests - Binding Editor: Enable opening the binding editor also from the outline.
- Outline: Don't show guard predicates (by their generated method name), don't show method bindings twice in the quick outline.
-
Debugging: Resurrected the Team Monitor (which was lost during the migration to Eclispe 3.3), and improve its functionality:
- Support columns in the tree view (like in the variables view)
- Observe the death of team instances, too.
- Context menu actions to (de)activated a selected team instance (for the selected thread).
- Debugging: Repair double-click toggle-breakpoint action (was broken during 3.3-migration). Also support all kinds of breakpoints for role files including class-loading and method breakpoints.
-
Runtime Environment: Fixed implicit (de-)activation in methods containing a
try-catch
block.
5.3.1c-otjld-callin-invocation-in-team-method - OT/Equinox: Fixed two potential deadlocks during startup.
-
Compiler&OT/Equinox: Detect and report if in a plug-in project using OT/Equinox a base import lacks or violates a corresponding
aspectBinding
declaration at the plug-in level.
Also in new OT/Equinox projects, importing a base class with a regular import (notimport base
) is by default an error now. -
OT/Equinox: Display icons for the elements of an
aspectBinding
in the extension editor. -
OT/Equinox: Basic profiling of class transformation during system start-up. Need to pass as vm arguments:
-Dotequinox.debug=info
and-Dotequinox.profile
. -
Deployment: Fixed packaging of the batch compiler
ecotj
. -
Deployment: Plug-in
org.objectteams.otdt.ui.help
now includes a jar, which is needed when compiling against the deployed plug-in. -
Compiler: More complete handling of base-anchored types in method bindings.
1.9.6-otjld-base-anchored-type-5 -
Compiler: Make diagnostic regarding base imports configurable using token
bindingconventions
-
Compiler: Support predicates also for bindings to static methods.
9.1.4-otjld-binding-predicate-2s, 9.1.4-otjld-binding-predicate-2r -
Compiler: Completed those locations which may use the base import scope and baseclass decapsulation: base guards and remaining cases in parameter mappings.
2.4.7-otjld-base-import-scope-1 f. - Compiler: Avoid spurious message "Declared lifting is not supported in this position" after a syntax error has already been detected.
-
Compiler: Avoid warning "static method m should be accessed in a static way", which was caused by synthetic accessor to a private static role feature.
B.1.1-otjld-ch-5a (used to show a spurious warning). -
Compiler: Don't show synthetic arguments when reporting error against a base-call.
4.5.5-otjld-illegal-base-call-6
Release 1.1.1July 28, 2007
- Jacks suite test results for release 1.1.1
- JUnit suite test results for release 1.1.1
- Diffs in test results v1.1.1 wrt. the previous version
-
Refactoring: Re-integrate the support for OT-aware refactorings
as it was present in the OTDT 1.0.0. However, now this support is implemented by
an aspect-plugin of <15% the size of the previous copy&paste based implementation.
Also OT-awareness is now added to the original refactorings rather than adding additional refactorings/actions. While this improves the intergration of OT/J into the JDT it currently breaks 3 out of >3449 refactoring tests, because a small portion of our implementation is still based on code from Eclipse 3.0. - Compare: Fixed formatting of comments in the compare editor for java sources.
- Quick Fix: Insertion of "final" modifier for a variable that is used as the team anchor of an externalized role.
-
Completion:
Completion of keyword "playedBy" in roles and only in roles.
org.objectteams.otdt.tests.model.OTCompletionTests -
Completion:
Completion after "playedBy" now offers invisible classes, too (for baseclass decapsulation).
org.objectteams.otdt.tests.model.OTCompletionTests - Metrics: Compute metrics even for code with (some) errors.
-
Compiler: Fixed reporting of illegal modifier in callin binding,
which caused an assertion violation in
4.1.6-otjld-callin-binding-states-modifier-1 ff. -
Compiler: Handle confined roles on both side of a playedBy declaration:
- disallow confined roles as base: 1.7.9-otjld-decapsulating-confined-2,
- but do support confined roles to be bound to a base class: 1.7.10-otjld-confined-bound-role-1
- GUI: Generally cope with "base" as a package name.
Release 1.1.0July 1, 2007
- Jacks suite test results for release 1.1.0
- JUnit suite test results for release 1.1.0
- Diffs in test results v1.1.0 wrt. the previous version
- Launching: Remove "Link with SWT" checkbox, because no special handling for SWT application is necessary any more.
-
Search: Fix JDT bug 160301
(was finding too many method references) for implicit inheritance, too.
org.objectteams.otdt.tests.search.OTJavaMethodSearchTests.test160301() -
Model: Avoid opening a buffer just for reading the class flags (role?).
Optimization and fix for JavaSearchBugsTests.testBug148380_SearchAllTypes_*
See also JDT bug 148380. -
OTJLD/Compiler (reporting): Cannot allow parameterized type after playedBy
(type information not available at run-time).
OTJLD § 2.1.2(e) A.1.7-otjld-generic-baseclass-2 -
Compiler/OTRE (reporting):
New exception class IllegalRoleCreationException, thrown when an implicitly inherited constructor is used,
that has been invalidated by adding a playedBy declaration.
-
Compiler (reporting): Enforce
OTJLD § 1.2.3(b),
0.a.14-otjld-qualified-protected-role-1, 0.a.14-otjld-qualified-protected-role-2 -
OTJLD/Compiler (reporting): report illegal static member class in team (OTJLD § 1.2.1).
1.1.9-otjld-static-team-member-1 -
Compiler (reporting): more complete reporting of warning for deprecated role type syntax.
1.9.8-otjld-old-syntax-1, 1.9.8-otjld-old-syntax-2 -
Compiler (reporting): completed analysis of binding ambiguities (compile-time and run-time).
4.1.31-otjld-illegal-lifting-binding-ambiguity-2, 4.1.31-otjld-illegal-lifting-binding-ambiguity-2d - Compiler: Improved support for 1.6 compliance.
-
Compiler: Improved resilience: recognize base-calls in classes with errors.
One less error in 4.1.2-otjld-callin-binding-without-parameter-names-1 -
Compiler: support callout to private role method/field.
1.1.26-otjld-nesting-and-layering-3p, 1.1.26-otjld-nesting-and-layering-4pf -
Compiler: support implicit specialization of
playedBy
.
OTJLD § 2.1(d), 1.1.26-otjld-nesting-and-layering-3, 1.1.26-otjld-nesting-and-layering-4 -
Compiler: improved analysis regarding tsuper constructor calls.
1.1.27-otjld-constructor-of-nested-team-1 -
Compiler: improve analysis for casting to/widening from confined type.
1.7.7-otjld-otjld-example-4, 1.7.7-otjld-otjld-example-5 -
Compiler: support value parameters in nested generic types.
1.9.6-otjld-base-anchored-type-4 -
Compiler: accept redundant type anchor
<@this>
as used in an example in OTJLD § 1.2.2(d)
1.9.7-otjld-special-anchors-1 -
Compiler: support callout to array field.
3.3.19-otjld-callout-to-array-field-1 -
Compiler: Support base class decapsulation for type parameters.
A.1.6-otjld-decapsulation-for-type-parameter-1
Older release notes.
© Stephan Herrmann
Last modified: Sun April 6, 2008