[433103] Fix 2-valued precedences, OclVoid overloads
diff --git a/plugins/org.eclipse.ocl.pivot/model/OCL-2.5.oclstdlib b/plugins/org.eclipse.ocl.pivot/model/OCL-2.5.oclstdlib
index 61436e3..cfe312a 100644
--- a/plugins/org.eclipse.ocl.pivot/model/OCL-2.5.oclstdlib
+++ b/plugins/org.eclipse.ocl.pivot/model/OCL-2.5.oclstdlib
@@ -191,7 +191,7 @@
oclText[false] if either oclText[self] or oclText[b] is oclText[false].
Otherwise oclText[true].
**/
- operation and2(b : Boolean[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.logical.BooleanAndOperation2'
+ operation and2(b : Boolean[1]) : Boolean[1] precedence=AND => 'org.eclipse.ocl.pivot.library.logical.BooleanAndOperation2'
{
body: if self = false then false
elseif b = false then false
@@ -224,7 +224,7 @@
oclText[true] if oclText[self] is oclText[false], or if oclText[b] is oclText[true].
Otherwise oclText[false].
**/
- operation implies2(b : Boolean[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.logical.BooleanImpliesOperation2'
+ operation implies2(b : Boolean[1]) : Boolean[1] precedence=IMPLIES => 'org.eclipse.ocl.pivot.library.logical.BooleanImpliesOperation2'
{
body: if self = false then true
elseif b = true then true
@@ -256,7 +256,7 @@
oclText[true] if oclText[self] is oclText[false].
Otherwise oclText[false].
**/
- operation not2() : Boolean[1] => 'org.eclipse.ocl.pivot.library.logical.BooleanNotOperation2'
+ operation not2() : Boolean[1] precedence=UNARY => 'org.eclipse.ocl.pivot.library.logical.BooleanNotOperation2'
{
body: if self then false else true endif;
}
@@ -266,7 +266,7 @@
oclText[null] if oclText[self] is oclText[null].
Otherwise oclText[invalid].
**/
- operation not() : Boolean[?] validating precedence=UNARY => 'org.eclipse.ocl.pivot.library.logical.BooleanNotOperation'
+ operation not() : Boolean[?] validating invalidating precedence=UNARY => 'org.eclipse.ocl.pivot.library.logical.BooleanNotOperation'
{
body: if self.oclIsInvalid() then self
elseif self = null then null
@@ -277,7 +277,7 @@
oclText[true] if either oclText[self] or oclText[b] is oclText[true].
Otherwise oclText[false].
**/
- operation or2(b : Boolean[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.logical.BooleanOrOperation2'
+ operation or2(b : Boolean[1]) : Boolean[1] precedence=OR => 'org.eclipse.ocl.pivot.library.logical.BooleanOrOperation2'
{
body: if self = true then true
elseif b = true then true
@@ -313,7 +313,7 @@
oclText[true] if oclText[self] <> oclText[b]
Otherwise oclText[false].
**/
- operation xor2(b : Boolean[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.logical.BooleanXorOperation2'
+ operation xor2(b : Boolean[1]) : Boolean[1] precedence=XOR => 'org.eclipse.ocl.pivot.library.logical.BooleanXorOperation2'
{
body: self <> b;
}
@@ -1083,13 +1083,8 @@
*/
operation "<>"(object2 : OclSelf[1]) : Boolean[1] precedence=EQUALITY => 'org.eclipse.ocl.pivot.library.oclany.OclAnyNotEqualOperation';
operation and(b : Boolean[?]) : Boolean[?] validating precedence=AND => 'org.eclipse.ocl.pivot.library.logical.BooleanAndOperation';
- operation and2(b : Boolean[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation';
operation implies(b : Boolean[?]) : Boolean[?] validating precedence=IMPLIES => 'org.eclipse.ocl.pivot.library.logical.BooleanImpliesOperation';
- operation implies2(b : Boolean[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation';
- operation not2() : Boolean[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation';
operation or(b : Boolean[?]) : Boolean[?] validating precedence=OR => 'org.eclipse.ocl.pivot.library.logical.BooleanAndOperation';
- operation or2(b : Boolean[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation';
- operation xor2(b : Boolean[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation';
operation oclAsSet() : Set(OclSelf[*|1]) => 'org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsSetOperation';
operation oclAsType(TT)(type : typeof(TT)[1]) : TT => 'org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsTypeOperation';
operation oclIsInvalid() : Boolean[1] validating => 'org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsInvalidOperation';
@@ -1253,19 +1248,19 @@
The concatenation of oclText[null] and s.
**/
operation "+"(s : String[?]) : String[1] precedence=ADDITIVE => 'org.eclipse.ocl.pivot.library.string.StringConcatOperation';
- operation and(b : Boolean[?]) : Boolean[?] precedence=AND => 'org.eclipse.ocl.pivot.library.oclvoid.OclVoidAndOperation';
- operation and2(b : Boolean[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation';
- operation implies(b : Boolean[?]) : Boolean[?] precedence=IMPLIES => 'org.eclipse.ocl.pivot.library.oclvoid.OclVoidImpliesOperation';
- operation implies2(b : Boolean[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation';
- operation not() : Boolean[?] validating precedence=UNARY => 'org.eclipse.ocl.pivot.library.logical.BooleanNotOperation';
- operation not2() : Boolean[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation';
- operation or(b : Boolean[?]) : Boolean[?] precedence=OR => 'org.eclipse.ocl.pivot.library.oclvoid.OclVoidOrOperation';
- operation or2(b : Boolean[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation';
+ operation and(b : Boolean[?]) : Boolean[?] validating invalidating precedence=AND => 'org.eclipse.ocl.pivot.library.oclvoid.OclVoidAndOperation';
+ operation implies(b : Boolean[?]) : Boolean[?] validating invalidating precedence=IMPLIES => 'org.eclipse.ocl.pivot.library.oclvoid.OclVoidImpliesOperation';
+ operation not() : Boolean[?] validating invalidating precedence=UNARY => 'org.eclipse.ocl.pivot.library.logical.BooleanNotOperation';
+ operation or(b : Boolean[?]) : Boolean[?] validating invalidating precedence=OR => 'org.eclipse.ocl.pivot.library.oclvoid.OclVoidOrOperation';
operation xor(b : Boolean[?]) : Boolean[?] precedence=XOR => 'org.eclipse.ocl.pivot.library.logical.BooleanXorOperation';
- operation xor2(b : Boolean[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation';
operation oclAsSet() : Set(OclSelf[0..0|1]) => 'org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsSetOperation';
+ operation oclAsType(TT)(type : typeof(TT)[1]) : TT[1] invalidating => 'org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsTypeOperation';
operation oclIsInvalid() : Boolean[1] validating => 'org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsInvalidOperation';
+ operation oclIsKindOf(type : OclType[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation';
+ operation oclIsTypeOf(type : OclType[1]) : Boolean[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsTypeOfOperation';
operation oclIsUndefined() : Boolean[1] validating => 'org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsUndefinedOperation';
+ operation oclType() : typeof(OclSelf)[1] => 'org.eclipse.ocl.pivot.library.oclany.OclAnyOclTypeOperation';
+ operation oclTypes() : Set(typeof(OclSelf)[1]) => 'org.eclipse.ocl.pivot.library.oclany.OclAnyOclTypesOperation';
/**
The concatenation of oclText[null] and s.
**/