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