Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "OCL/New and Noteworthy/Photon"
Line 9: | Line 9: | ||
===Pivot=== | ===Pivot=== | ||
− | * [https://bugs.eclipse.org/ | + | * [https://bugs.eclipse.org/521094 521094] Multiple and alias-less imports now allowed in OCL stdlib files. |
− | + | ||
==Milestone 2== | ==Milestone 2== | ||
+ | |||
+ | ===Pivot=== | ||
+ | * [https://bugs.eclipse.org/519872 519872] XMI serialization of synthetic orphanage content is now accurate and less bloated. | ||
+ | * [https://bugs.eclipse.org/520886 520886] Non-default CollectionType lower/upper bounds are no longer default internally. | ||
+ | * [https://bugs.eclipse.org/520825 520825] Locally Unique Semantically Sensitive IDs used to provide short stable determinstic xmi:ids. | ||
+ | * [https://bugs.eclipse.org/521588 521588] Complete OCL properties now have consistent xmi:ids. | ||
+ | * [https://bugs.eclipse.org/521885 521885] Awkward identifiers are now correctly escaped. | ||
===Library=== | ===Library=== |
Revision as of 13:51, 21 May 2018
Eclipse OCL New and Noteworthy items for the Photon 6.4.0 release.
Contents
Release Overview
This minor release fixes many bugs and provides enhanced extensibility for OCL-based applications such as QVT.
The Photon release is installable on Mars, Neon and Oxygen platforms provided Xtext 2.9 or greater is also installed.
Milestone 1
Pivot
- 521094 Multiple and alias-less imports now allowed in OCL stdlib files.
Milestone 2
Pivot
- 519872 XMI serialization of synthetic orphanage content is now accurate and less bloated.
- 520886 Non-default CollectionType lower/upper bounds are no longer default internally.
- 520825 Locally Unique Semantically Sensitive IDs used to provide short stable determinstic xmi:ids.
- 521588 Complete OCL properties now have consistent xmi:ids.
- 521885 Awkward identifiers are now correctly escaped.
Library
- 499816 and2/implies2/not2/or2/xor2 support explicitly 2-valued Booleans
Pivot Evaluation
- 471240 Shadow objects are now singletons
- 491264 EvaluationCache now suppresses operation re-evaluations
CG
- 500817 Inlining suppressed for non-final operations
- 500520 Operation::isTransient suppresses operation evaluation caching
Milestone 3
Pivot UML
- 506191 Multi-language OpaqueExpressions now use the OCL language
Milestone 4
Pivot
- 474537 Operation call return types are now correctly specialized
- 507557 All class-typed properties have opposites - no exclusions for transient etc
- 507628 OCL Validation detects null feature types/names.
- 507658 LetVariable, IteratorVariable, ResultVariable introduced.
Pivot UML
- 507406 Evaluations of redefined properties with changed multiplicities no longer fail
Extensibility
- 412341 Extended validation may be merged into extended AS models
- 507425 Extended generation re-uses rather than corrupts base model elements
- 507843 Extended genmodels may use patform URIs
Milestone 5
Three subtle semantic changes.
The Pivot null-analysis exploits the common practice and UML mandate that Collections are null-free. If null content is required it must be declared.
The Pivot invalid-analysis now treats machine failures as fatal rather than invalid. Consequently a property navigation cannot return invalid, and a machine failure cannot be processed using oclIsInvalid().
The Pivot code generator is moving towards efficient inlining of Boolean operations. and/implies/not/or/xor can no longer be redefined.
Ecore
- 495621 User-defined Primitive types are now merged with regular Primitive types
- 509858 Opposite role name EAnnotation corrected for sensibly named Collection
- 510180 A zero lower bound for an EBoolean is ignored. It is always 1; not-null.
Pivot
- 467339 Null safety analysis now considers simple Boolean if/implies etc data flow
- 480060 elseif works
- 492293 Collections are null-free unless declared otherwise
- 495621 OCL can now be parsed in a user specified context
- 507628 OCL Validation detects null class names.
- 507628 OCL Validation detects that the closure body is assignable to the result.
- 509308 Shadow DataType elements may use a "value=" part with an arbitrary OCL expression.
- 509616 Collection return types are now modeled more accurately.
- 509670 Performance of Bags improved.
- 509713 Property navigation can no longer provide an invalid result.
- 510729 OCL library Pivot elements now have a stable corresponding Ecore element
Code Generator
- 509211 Constraints may now use lets to share common code for a tuple return of status and message
- 509222 Constraints may now use "context" as a variable name
- 509661 Boolean operations are not redefinable
Milestone 6
OCLinEcore
- 512452 OCL in Ecore validation now detects OCL validation as well as OCL parsing errors
Pivot
- 511536 The ParserContext is now extensible.
- 511782 Bounded collection bounds e.g. Set(T[4]) are now consistently inside the parentheses.
- 511992 Collections are never null (although they may have null elements)
- 512758 Collection multiplicities are more accurate for conversions such as oclAsSet().
Pivot UML
- 512448 Spurious no-invocationDelegates diagnosis for invariants removed
- 512449 Only the most recent stereotype EPackage is validated
- 512454 OCL in UML validation now detects OCL validation as well as OCL parsing errors
- 512545 Validation diagnostics now have UML context and so display sensibly in Papyrus
- 512553 Static class operations may now be used
- 512726 Navigable opposite properties may now be used
- 512910 Opposite properties of static profile stereotypes may now be used
Milestone 7
OCLinEcore
- 516274 Type bounds on Template Parameters are no longer lost when saving as Ecore
Pivot
- 515605 Unambiguous opposite properties no longer behave intermittently if their unqualified name is ambiguous.
Pivot UML
- 513773 Use of an Association end name no longer gices a ClassCastException
- 513824 Qualified names may now be partially qualified
- 514353 Associations nested within Classes are no longer ignored
- 516285 References to nested packages with URIs below packages with null URIs are no longer unresolved
Code Generation
- 514527 GenModel interface/implementation suffixes are now respected
Java 9, Guava 21
Milestone 7a
This cures a potential problem for users auto-generating Java code from OCL enriched models.
- 516797 @NonNull compilation errors detected by JDT M7 fixed
OCLinEcore
- 516301 OCL comments and GenModel documentation are now spliced as a single documnetation
RC1
Pivot
- 515027 Validation now fails if parsing fails
- 515050 Ambiguities due to same-named meta-properties are now resolved
- 516963 Unresolved proxies when editing AS files now diagnosed
- 517065 Irrelevant bad genmodels no longer cause failures
RC2
RC3
Code Generation
- 517119 Use of EInt with assertions enabled no longer fails
RC4
RC4a
Pivot UML
- 518130 Import of an unresolved profile is now diagnosed rather than an NPE