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 "MDT/OCL 3.0.0 API Changes"
< MDT
Line 1: | Line 1: | ||
+ | === OCL 2.1/2.2 changes === | ||
+ | |||
The OCL 2.2 language changes under discussion for MDT-OCL 3.0.0. | The OCL 2.2 language changes under discussion for MDT-OCL 3.0.0. | ||
Line 14: | Line 16: | ||
| Give and/or/xor distinct precedence || 7.4.7, 9.3.2 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=288040 288040] || Patch ready | | Give and/or/xor distinct precedence || 7.4.7, 9.3.2 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=288040 288040] || Patch ready | ||
|- | |- | ||
− | | Remove attr, oper keywords || 7.4.9 || || | + | | Remove attr, oper keywords || 7.4.9 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=184048 184048] || Patch ready |
|- | |- | ||
| Add body, init, derive keywords || 7.4.9 || || No change | | Add body, init, derive keywords || 7.4.9 || || No change | ||
|- | |- | ||
− | | Add qualified navigation paths || 7.5.3, 9.3 || [https://bugs.eclipse.org/288575 288575] || -- | + | | Add qualified navigation paths || 7.5.3, 9.3 || [https://bugs.eclipse.org/288575 288575] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=184048 184048] || -- |
|- | |- | ||
| exists iterator may have multiple iterators || 7.6.4 || [https://bugs.eclipse.org/288573 288573] || No change | | exists iterator may have multiple iterators || 7.6.4 || [https://bugs.eclipse.org/288573 288573] || No change | ||
Line 34: | Line 36: | ||
| Add CollectionKind::Collection || 8.3.5 || || No change | | Add CollectionKind::Collection || 8.3.5 || || No change | ||
|- | |- | ||
− | | Renames for *CallExpCS || 9.3 || || | + | | Renames for *CallExpCS || 9.3 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=184048 184048] || -- |
|- | |- | ||
| OclInvalid and invalid confusion (OclInvalid must be a type, invalid must be a literal) || 11.2.4 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=281849 281849] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=282882 282882] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=288526 288526] || In HEAD for M2 | | OclInvalid and invalid confusion (OclInvalid must be a type, invalid must be a literal) || 11.2.4 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=281849 281849] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=282882 282882] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=288526 288526] || In HEAD for M2 | ||
Line 45: | Line 47: | ||
|} | |} | ||
+ | |||
+ | === OCL.uml meta-model changes === | ||
The OCL.uml meta-model changes under discussion for MDT-OCL 3.0.0. | The OCL.uml meta-model changes under discussion for MDT-OCL 3.0.0. | ||
Line 62: | Line 66: | ||
|} | |} | ||
+ | |||
+ | === Parsing and Environment API changes === | ||
The parsing and environment API changes under discussion for MDT-OCL 3.0.0 | The parsing and environment API changes under discussion for MDT-OCL 3.0.0 | ||
Line 69: | Line 75: | ||
|- | |- | ||
| Migrate OCL grammars and parsing infrastructure to exploit LPG v2 || [https://bugs.eclipse.org/242153 242153] || In progress (Branch) | | Migrate OCL grammars and parsing infrastructure to exploit LPG v2 || [https://bugs.eclipse.org/242153 242153] || In progress (Branch) | ||
+ | |- | ||
+ | | Eliminate PrsStream, LexStream inheritance || [https://bugs.eclipse.org/242153 242153] || In progress (Branch) | ||
|- | |- | ||
| Replace IsMarkedAtPreCS.isPre true/false usage by not-null/null IsMarkedAtPreCS || [https://bugs.eclipse.org/287993 287993] || In HEAD for M2 | | Replace IsMarkedAtPreCS.isPre true/false usage by not-null/null IsMarkedAtPreCS || [https://bugs.eclipse.org/287993 287993] || In HEAD for M2 | ||
Line 93: | Line 101: | ||
|} | |} | ||
+ | |||
+ | === Standard library API changes === | ||
The standard library API changes under discussion for MDT-OCL 3.0.0 | The standard library API changes under discussion for MDT-OCL 3.0.0 | ||
Line 100: | Line 110: | ||
|- | |- | ||
| OrderedSet is not a subtype of Set. Set operations defined for OrderedSet (union, intersection, including, etc.) must be dropped || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=246962 246962] || -- | | OrderedSet is not a subtype of Set. Set operations defined for OrderedSet (union, intersection, including, etc.) must be dropped || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=246962 246962] || -- | ||
+ | |} | ||
+ | |||
+ | |||
+ | === Bug fix changes === | ||
+ | |||
+ | The following MDT-OCL 3.0.0 bug fixes obviously change behaviour slightly. | ||
+ | |||
+ | {| border="1" | ||
+ | !Bug fix !! Related bug/s !! Adopting Milestone | ||
+ | |- | ||
+ | | Give if atomic precedence || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=184048 184048] || Patch ready | ||
|} | |} |
Revision as of 15:41, 11 September 2009
Contents
OCL 2.1/2.2 changes
The OCL 2.2 language changes under discussion for MDT-OCL 3.0.0.
Some changes are marked as no change since MDT-OCL 1.x anticipated them.
Summary of probable OCL 2.2 change | Related spec. sections | Related bug/s | Adopting Milestone |
---|---|---|---|
Introduce static keyword and operations | 7.4.4, 7.4.9, 12.12.6 | 285633 | In HEAD for M2 |
OrderedSet is not a subtype of Set. | 7.4.5, 11.6.3 | 246962 | -- |
Give message-expression operators precedence | 7.4.7, 9.3.2 | 288040 | Issue pending |
Give and/or/xor distinct precedence | 7.4.7, 9.3.2 | 288040 | Patch ready |
Remove attr, oper keywords | 7.4.9 | 184048 | Patch ready |
Add body, init, derive keywords | 7.4.9 | No change | |
Add qualified navigation paths | 7.5.3, 9.3 | 288575 184048 | -- |
exists iterator may have multiple iterators | 7.6.4 | 288573 | No change |
Special types (ElementType, TypeType) don't exist anymore. Consequently, their instances (OclElement, OclType) do not exist either | 8.2, 13.3, 11.3 | 190150, 259031 | -- |
Introduce TemplateParameterType | 8.2 | -- | |
Make CollectionType concrete | 8.2 | No change | |
OclAny is the type to which all other types conform (including Collections) | 8.2 | 189657, 191819 | Issue under discussion |
Introduce FeatureCallexp.isPre (rename markedPre) | 8.3.1, 9.3 | -- | |
Add CollectionKind::Collection | 8.3.5 | No change | |
Renames for *CallExpCS | 9.3 | 184048 | -- |
OclInvalid and invalid confusion (OclInvalid must be a type, invalid must be a literal) | 11.2.4 | 281849 282882 288526 | In HEAD for M2 |
OclVoid doesn't conform to OclInvalid | 11.2.3 | Issue under discussion | |
OclInvalid doesn't conform to OclVoid | 11.2.4 | Issue under discussion | |
EMOF Reflection is not merged | 13.2 | -- |
OCL.uml meta-model changes
The OCL.uml meta-model changes under discussion for MDT-OCL 3.0.0.
Summary of change | Related bug/s | Adopting Milestone |
---|---|---|
Add TemplateParameterType | -- | |
Rename FeatureCallExp.withAtPre as isPre | -- | |
Eliminate EMOF reflection | -- | |
Introduce OCL_2_0.uml more closely matching OCL 2.0 (excluding TemplateParameterType) | -- | |
Introduce OCL_2_2.uml more closely matching OCL 2.2 (excluding ElementType, TypeType) | -- |
Parsing and Environment API changes
The parsing and environment API changes under discussion for MDT-OCL 3.0.0
Summary of change | Related bug/s | Adopting Milestone |
---|---|---|
Migrate OCL grammars and parsing infrastructure to exploit LPG v2 | 242153 | In progress (Branch) |
Eliminate PrsStream, LexStream inheritance | 242153 | In progress (Branch) |
Replace IsMarkedAtPreCS.isPre true/false usage by not-null/null IsMarkedAtPreCS | 287993 | In HEAD for M2 |
Eliminate redundant ClassifierContextDeclCS.invOrDefCS daisy chain, retaining just constraints array | 287993 | In HEAD for M2 |
Replace PropertyContextCS.initOrDerCS daisy chain by constraints array | 287993 | In HEAD for M2 |
Change PathNameCS.sequenceOfNames to simpleNames retaining CST context | 287993 | In HEAD for M2 |
Change StateExpCS.sequenceOfNames to simpleNames retaining CST context | 287993 | In HEAD for M2 |
Eliminate CSTToken.startOffset/endOffset | -- | |
Use PathNameCS rather than List<String> in numerous internal calls | -- | |
Use the tryLookupXXX methods rather than lookupXXX methods wherever possible | -- | |
Introduce File/Root/Child environments from QVT Declarative | -- | |
Use a Child rather than dynamic environment for LetExp and IteratorExp parsing | -- | |
Rename closure as transitiveClosure valid for any Collection | -- |
Standard library API changes
The standard library API changes under discussion for MDT-OCL 3.0.0
Summary of change | Related bug/s | Adopting Milestone |
---|---|---|
OrderedSet is not a subtype of Set. Set operations defined for OrderedSet (union, intersection, including, etc.) must be dropped | 246962 | -- |
Bug fix changes
The following MDT-OCL 3.0.0 bug fixes obviously change behaviour slightly.
Bug fix | Related bug/s | Adopting Milestone |
---|---|---|
Give if atomic precedence | 184048 | Patch ready |