| /******************************************************************************* |
| * Copyright (c) 2011, 2018 Willink Transformations and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v2.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v20.html |
| * |
| * Contributors: |
| * E.D.Willink - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.qvtd.pivot.qvtrelation; |
| |
| import java.util.Map; |
| import org.eclipse.emf.common.util.DiagnosticChain; |
| import org.eclipse.emf.common.util.EList; |
| import org.eclipse.ocl.pivot.OCLExpression; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * A representation of the model object '<em><b>Relation Call Exp</b></em>'. |
| * <!-- end-user-doc --> |
| * |
| * <p> |
| * The following features are supported: |
| * </p> |
| * <ul> |
| * <li>{@link org.eclipse.qvtd.pivot.qvtrelation.RelationCallExp#getArgument <em>Argument</em>}</li> |
| * <li>{@link org.eclipse.qvtd.pivot.qvtrelation.RelationCallExp#getReferredRelation <em>Referred Relation</em>}</li> |
| * </ul> |
| * |
| * @see org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage#getRelationCallExp() |
| * @model |
| * @generated |
| */ |
| public interface RelationCallExp extends OCLExpression { |
| /** |
| * Returns the value of the '<em><b>Argument</b></em>' containment reference list. |
| * The list contents are of type {@link org.eclipse.ocl.pivot.OCLExpression}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Argument</em>' containment reference list isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Argument</em>' containment reference list. |
| * @see org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage#getRelationCallExp_Argument() |
| * @model containment="true" lower="2" |
| * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='relationCallExp'" |
| * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvt/2015/QVTrelation!RelationCallExp!argument'" |
| * @generated |
| */ |
| EList<OCLExpression> getArgument(); |
| |
| /** |
| * Returns the value of the '<em><b>Referred Relation</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Referred Relation</em>' reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Referred Relation</em>' reference. |
| * @see #setReferredRelation(Relation) |
| * @see org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage#getRelationCallExp_ReferredRelation() |
| * @model required="true" |
| * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='relationCallExp'" |
| * annotation="http://www.eclipse.org/emf/2002/GenModel get='throw new UnsupportedOperationException(); // FIXME Unimplemented http://www.eclipse.org/qvt/2015/QVTrelation!RelationCallExp!referredRelation'" |
| * @generated |
| */ |
| Relation getReferredRelation(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.qvtd.pivot.qvtrelation.RelationCallExp#getReferredRelation <em>Referred Relation</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Referred Relation</em>' reference. |
| * @see #getReferredRelation() |
| * @generated |
| */ |
| void setReferredRelation(Relation value); |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='MatchingArgumentCount'" |
| * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n\tself.argument->size() = self.referredRelation.domain.oclAsType(RelationDomain).rootVariable->size()\n'" |
| * annotation="http://www.eclipse.org/emf/2002/GenModel body='try {\n\t/**\n\t *\n\t * inv MatchingArgumentCount:\n\t * let\n\t * severity : Integer[1] = \'RelationCallExp::MatchingArgumentCount\'.getSeverity()\n\t * in\n\t * if severity <= 0\n\t * then true\n\t * else\n\t * let\n\t * result : Boolean[1] = self.argument->size() =\n\t * self.referredRelation.domain.oclAsType(RelationDomain)\n\t * .rootVariable->size()\n\t * in\n\t * \'RelationCallExp::MatchingArgumentCount\'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)\n\t * endif\n\t \052/\n\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.evaluation.@<%org.eclipse.jdt.annotation.NonNull%> Executor executor = <%org.eclipse.ocl.pivot.utilities.PivotUtil%>.getExecutor(this, context);\n\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.ids.@<%org.eclipse.jdt.annotation.NonNull%> IdResolver idResolver = executor.getIdResolver();\n\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> IntegerValue severity_0 = <%org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation%>.INSTANCE.evaluate(executor, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.STR_RelationCallExp_c_c_MatchingArgumentCount);\n\tfinal /*@NonInvalid\052/ boolean le = <%org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation%>.INSTANCE.evaluate(executor, severity_0, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.INT_0).booleanValue();\n\t/*@NonInvalid\052/ boolean symbol_0;\n\tif (le) {\n\t\tsymbol_0 = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE;\n\t}\n\telse {\n\t\t/*@Caught\052/ @<%org.eclipse.jdt.annotation.NonNull%> Object CAUGHT_result;\n\t\ttry {\n\t\t\t@SuppressWarnings(\"null\")\n\t\t\tfinal /*@NonInvalid\052/ java.util.@<%org.eclipse.jdt.annotation.NonNull%> List<<%org.eclipse.ocl.pivot.OCLExpression%>> argument = this.getArgument();\n\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue BOXED_argument = idResolver.createOrderedSetOfAll(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.ORD_CLSSid_OCLExpression, argument);\n\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> IntegerValue size = <%org.eclipse.ocl.pivot.library.collection.CollectionSizeOperation%>.INSTANCE.evaluate(BOXED_argument);\n\t\t\t@SuppressWarnings(\"null\")\n\t\t\tfinal /*@NonInvalid\052/ org.eclipse.qvtd.pivot.qvtrelation.@<%org.eclipse.jdt.annotation.NonNull%> Relation referredRelation = this.getReferredRelation();\n\t\t\t@SuppressWarnings(\"null\")\n\t\t\tfinal /*@NonInvalid\052/ java.util.@<%org.eclipse.jdt.annotation.NonNull%> List<<%org.eclipse.qvtd.pivot.qvtbase.Domain%>> domain = referredRelation.getDomain();\n\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue BOXED_domain = idResolver.createOrderedSetOfAll(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.ORD_CLSSid_Domain, domain);\n\t\t\t/*@Thrown\052/ org.eclipse.ocl.pivot.values.SequenceValue.@<%org.eclipse.jdt.annotation.NonNull%> Accumulator accumulator = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createSequenceAccumulatorValue(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.SEQ_CLSSid_RelationDomain);\n\t\t\tjava.util.@<%org.eclipse.jdt.annotation.NonNull%> Iterator<<%java.lang.Object%>> ITERATOR__1 = BOXED_domain.iterator();\n\t\t\t/*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> SequenceValue collect_0;\n\t\t\twhile (true) {\n\t\t\t\tif (!ITERATOR__1.hasNext()) {\n\t\t\t\t\tcollect_0 = accumulator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t@SuppressWarnings(\"null\")\n\t\t\t\t/*@NonInvalid\052/ org.eclipse.qvtd.pivot.qvtbase.@<%org.eclipse.jdt.annotation.NonNull%> Domain _1 = (org.eclipse.qvtd.pivot.qvtbase.@<%org.eclipse.jdt.annotation.NonNull%> Domain)ITERATOR__1.next();\n\t\t\t\t/**\n\t\t\t\t * oclAsType(RelationDomain)\n\t\t\t\t \052/\n\t\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Class TYP_qvtrelation_c_c_RelationDomain_0 = idResolver.getClass(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.CLSSid_RelationDomain, null);\n\t\t\t\t@SuppressWarnings(\"null\")\n\t\t\t\tfinal /*@Thrown\052/ org.eclipse.qvtd.pivot.qvtrelation.@<%org.eclipse.jdt.annotation.NonNull%> RelationDomain oclAsType = (org.eclipse.qvtd.pivot.qvtrelation.@<%org.eclipse.jdt.annotation.NonNull%> RelationDomain)<%org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsTypeOperation%>.INSTANCE.evaluate(executor, _1, TYP_qvtrelation_c_c_RelationDomain_0);\n\t\t\t\t//\n\t\t\t\taccumulator.add(oclAsType);\n\t\t\t}\n\t\t\t/*@Thrown\052/ org.eclipse.ocl.pivot.values.SequenceValue.@<%org.eclipse.jdt.annotation.NonNull%> Accumulator accumulator_0 = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createSequenceAccumulatorValue(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.SEQ_CLSSid_Variable);\n\t\t\tjava.util.@<%org.eclipse.jdt.annotation.NonNull%> Iterator<<%java.lang.Object%>> ITERATOR__1_0 = collect_0.iterator();\n\t\t\t/*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> SequenceValue collect;\n\t\t\twhile (true) {\n\t\t\t\tif (!ITERATOR__1_0.hasNext()) {\n\t\t\t\t\tcollect = accumulator_0;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t@SuppressWarnings(\"null\")\n\t\t\t\t/*@NonInvalid\052/ org.eclipse.qvtd.pivot.qvtrelation.@<%org.eclipse.jdt.annotation.NonNull%> RelationDomain _1_0 = (org.eclipse.qvtd.pivot.qvtrelation.@<%org.eclipse.jdt.annotation.NonNull%> RelationDomain)ITERATOR__1_0.next();\n\t\t\t\t/**\n\t\t\t\t * rootVariable\n\t\t\t\t \052/\n\t\t\t\tfinal /*@NonInvalid\052/ java.util.@<%org.eclipse.jdt.annotation.NonNull%> List<<%org.eclipse.ocl.pivot.Variable%>> rootVariable = _1_0.getRootVariable();\n\t\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue BOXED_rootVariable = idResolver.createOrderedSetOfAll(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.ORD_CLSSid_Variable, rootVariable);\n\t\t\t\t//\n\t\t\t\tfor (Object value : BOXED_rootVariable.flatten().getElements()) {\n\t\t\t\t\taccumulator_0.add(value);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfinal /*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> IntegerValue size_0 = <%org.eclipse.ocl.pivot.library.collection.CollectionSizeOperation%>.INSTANCE.evaluate(collect);\n\t\t\tfinal /*@Thrown\052/ boolean result = size.equals(size_0);\n\t\t\tCAUGHT_result = result;\n\t\t}\n\t\tcatch (<%java.lang.Exception%> e) {\n\t\t\tCAUGHT_result = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createInvalidValue(e);\n\t\t}\n\t\tfinal /*@NonInvalid\052/ boolean logDiagnostic = <%org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation%>.INSTANCE.evaluate(executor, <%org.eclipse.ocl.pivot.ids.TypeId%>.BOOLEAN, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.STR_RelationCallExp_c_c_MatchingArgumentCount, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.INT_0).booleanValue();\n\t\tsymbol_0 = logDiagnostic;\n\t}\n\treturn Boolean.TRUE == symbol_0;\n}\ncatch (<%java.lang.Throwable%> e) {\n\treturn <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.validationFailedDiagnostic(\"RelationCallExp::MatchingArgumentCount\", this, diagnostics, context, e);\n}'" |
| * @generated |
| */ |
| boolean validateMatchingArgumentCount(DiagnosticChain diagnostics, Map<Object, Object> context); |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='WhereInvocationIsANonTopRelation'" |
| * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n\tlet pattern : qvtbase::Pattern = self->asOrderedSet()->closure(e : ocl::OclElement | e.oclContainer())->selectByKind(qvtbase::Pattern)->first() in\n let relation : Relation = pattern->asOrderedSet()->closure(e : ocl::OclElement | e.oclContainer())->selectByKind(Relation)->first() in\n\trelation._where = pattern implies not referredRelation.isTopLevel\n'" |
| * annotation="http://www.eclipse.org/emf/2002/GenModel body='try {\n\t/**\n\t *\n\t * inv WhereInvocationIsANonTopRelation:\n\t * let\n\t * severity : Integer[1] = \'RelationCallExp::WhereInvocationIsANonTopRelation\'.getSeverity()\n\t * in\n\t * if severity <= 0\n\t * then true\n\t * else\n\t * let\n\t * result : Boolean[?] = let\n\t * pattern : qvtbase::Pattern[1] = self->asOrderedSet()\n\t * ->closure(e | e.oclContainer())\n\t * ->selectByKind(qvtbase::Pattern)\n\t * ->first()\n\t * in\n\t * let\n\t * relation : Relation[1] = pattern->asOrderedSet()\n\t * ->closure(e | e.oclContainer())\n\t * ->selectByKind(Relation)\n\t * ->first()\n\t * in relation.where = pattern implies not referredRelation.isTopLevel\n\t * in\n\t * \'RelationCallExp::WhereInvocationIsANonTopRelation\'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)\n\t * endif\n\t \052/\n\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.evaluation.@<%org.eclipse.jdt.annotation.NonNull%> Executor executor = <%org.eclipse.ocl.pivot.utilities.PivotUtil%>.getExecutor(this, context);\n\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.ids.@<%org.eclipse.jdt.annotation.NonNull%> IdResolver idResolver = executor.getIdResolver();\n\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> StandardLibrary standardLibrary = idResolver.getStandardLibrary();\n\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> IntegerValue severity_0 = <%org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation%>.INSTANCE.evaluate(executor, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.STR_RelationCallExp_c_c_WhereInvocationIsANonTopRelation);\n\tfinal /*@NonInvalid\052/ boolean le = <%org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation%>.INSTANCE.evaluate(executor, severity_0, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.INT_0).booleanValue();\n\t/*@NonInvalid\052/ boolean symbol_0;\n\tif (le) {\n\t\tsymbol_0 = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE;\n\t}\n\telse {\n\t\t/*@Caught\052/ @<%org.eclipse.jdt.annotation.Nullable%> Object CAUGHT_implies;\n\t\ttry {\n\t\t\t/*@Caught\052/ @<%org.eclipse.jdt.annotation.Nullable%> Object CAUGHT_pattern;\n\t\t\ttry {\n\t\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Class TYP_qvtbase_c_c_Pattern = idResolver.getClass(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.CLSSid_Pattern, null);\n\t\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> SetValue oclAsSet = <%org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsSetOperation%>.INSTANCE.evaluate(executor, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.SET_CLSSid_RelationCallExp, this);\n\t\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue asOrderedSet = <%org.eclipse.ocl.pivot.library.collection.CollectionAsOrderedSetOperation%>.INSTANCE.evaluate(oclAsSet);\n\t\t\t\tfinal org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Class TYPE_closure_1 = executor.getStaticTypeOf(asOrderedSet);\n\t\t\t\tfinal org.eclipse.ocl.pivot.library.LibraryIteration.@<%org.eclipse.jdt.annotation.NonNull%> LibraryIterationExtension IMPL_closure_1 = (<%org.eclipse.ocl.pivot.library.LibraryIteration.LibraryIterationExtension%>)TYPE_closure_1.lookupImplementation(standardLibrary, <%org.eclipse.ocl.pivot.oclstdlib.OCLstdlibTables%>.Operations._OrderedSet__closure);\n\t\t\t\tfinal @<%org.eclipse.jdt.annotation.NonNull%> Object ACC_closure_1 = IMPL_closure_1.createAccumulatorValue(executor, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.ORD_CLSSid_OclElement, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.CLSSid_OclElement);\n\t\t\t\t/**\n\t\t\t\t * Implementation of the iterator body.\n\t\t\t\t \052/\n\t\t\t\tfinal org.eclipse.ocl.pivot.library.@<%org.eclipse.jdt.annotation.NonNull%> AbstractBinaryOperation BODY_closure_1 = new <%org.eclipse.ocl.pivot.library.AbstractBinaryOperation%>()\n\t\t\t\t{\n\t\t\t\t\t/**\n\t\t\t\t\t * e.oclContainer()\n\t\t\t\t\t \052/\n\t\t\t\t\t@Override\n\t\t\t\t\tpublic @<%org.eclipse.jdt.annotation.Nullable%> Object evaluate(final org.eclipse.ocl.pivot.evaluation.@<%org.eclipse.jdt.annotation.NonNull%> Executor executor, final org.eclipse.ocl.pivot.ids.@<%org.eclipse.jdt.annotation.NonNull%> TypeId typeId, final @<%org.eclipse.jdt.annotation.Nullable%> Object asOrderedSet, final /*@NonInvalid\052/ @<%org.eclipse.jdt.annotation.Nullable%> Object e_0) {\n\t\t\t\t\t\tfinal /*@Thrown\052/ @<%org.eclipse.jdt.annotation.Nullable%> Object oclContainer = <%org.eclipse.ocl.pivot.library.classifier.ClassifierOclContainerOperation%>.INSTANCE.evaluate(executor, e_0);\n\t\t\t\t\t\treturn oclContainer;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tfinal org.eclipse.ocl.pivot.internal.library.executor.@<%org.eclipse.jdt.annotation.NonNull%> ExecutorSingleIterationManager MGR_closure_1 = new <%org.eclipse.ocl.pivot.internal.library.executor.ExecutorSingleIterationManager%>(executor, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.ORD_CLSSid_OclElement, BODY_closure_1, asOrderedSet, ACC_closure_1);\n\t\t\t\tfinal /*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue closure = (org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue)IMPL_closure_1.evaluateIteration(MGR_closure_1);\n\t\t\t\tfinal /*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue selectByKind = (org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.Nullable%> OrderedSetValue)<%org.eclipse.ocl.pivot.library.collection.CollectionSelectByKindOperation%>.INSTANCE.evaluate(executor, closure, TYP_qvtbase_c_c_Pattern);\n\t\t\t\tfinal /*@Thrown\052/ org.eclipse.qvtd.pivot.qvtbase.@<%org.eclipse.jdt.annotation.Nullable%> Pattern pattern = (org.eclipse.qvtd.pivot.qvtbase.@<%org.eclipse.jdt.annotation.Nullable%> Pattern)<%org.eclipse.ocl.pivot.library.collection.OrderedCollectionFirstOperation%>.INSTANCE.evaluate(selectByKind);\n\t\t\t\tCAUGHT_pattern = pattern;\n\t\t\t}\n\t\t\tcatch (<%java.lang.Exception%> e) {\n\t\t\t\tCAUGHT_pattern = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createInvalidValue(e);\n\t\t\t}\n\t\t\t/*@Caught\052/ @<%org.eclipse.jdt.annotation.Nullable%> Object CAUGHT_relation;\n\t\t\ttry {\n\t\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Class TYP_qvtrelation_c_c_Relation_0 = idResolver.getClass(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.CLSSid_Relation, null);\n\t\t\t\tif (CAUGHT_pattern instanceof <%org.eclipse.ocl.pivot.values.InvalidValueException%>) {\n\t\t\t\t\tthrow (<%org.eclipse.ocl.pivot.values.InvalidValueException%>)CAUGHT_pattern;\n\t\t\t\t}\n\t\t\t\tfinal /*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> SetValue oclAsSet_0 = <%org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsSetOperation%>.INSTANCE.evaluate(executor, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.SET_CLSSid_Pattern, CAUGHT_pattern);\n\t\t\t\tfinal /*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue asOrderedSet_0 = <%org.eclipse.ocl.pivot.library.collection.CollectionAsOrderedSetOperation%>.INSTANCE.evaluate(oclAsSet_0);\n\t\t\t\tfinal org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Class TYPE_closure_0_0 = executor.getStaticTypeOf(asOrderedSet_0);\n\t\t\t\tfinal org.eclipse.ocl.pivot.library.LibraryIteration.@<%org.eclipse.jdt.annotation.NonNull%> LibraryIterationExtension IMPL_closure_0_0 = (<%org.eclipse.ocl.pivot.library.LibraryIteration.LibraryIterationExtension%>)TYPE_closure_0_0.lookupImplementation(standardLibrary, <%org.eclipse.ocl.pivot.oclstdlib.OCLstdlibTables%>.Operations._OrderedSet__closure);\n\t\t\t\tfinal @<%org.eclipse.jdt.annotation.NonNull%> Object ACC_closure_0_0 = IMPL_closure_0_0.createAccumulatorValue(executor, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.ORD_CLSSid_OclElement, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.CLSSid_OclElement);\n\t\t\t\t/**\n\t\t\t\t * Implementation of the iterator body.\n\t\t\t\t \052/\n\t\t\t\tfinal org.eclipse.ocl.pivot.library.@<%org.eclipse.jdt.annotation.NonNull%> AbstractBinaryOperation BODY_closure_0_0 = new <%org.eclipse.ocl.pivot.library.AbstractBinaryOperation%>()\n\t\t\t\t{\n\t\t\t\t\t/**\n\t\t\t\t\t * e.oclContainer()\n\t\t\t\t\t \052/\n\t\t\t\t\t@Override\n\t\t\t\t\tpublic @<%org.eclipse.jdt.annotation.Nullable%> Object evaluate(final org.eclipse.ocl.pivot.evaluation.@<%org.eclipse.jdt.annotation.NonNull%> Executor executor, final org.eclipse.ocl.pivot.ids.@<%org.eclipse.jdt.annotation.NonNull%> TypeId typeId, final @<%org.eclipse.jdt.annotation.Nullable%> Object asOrderedSet_0, final /*@NonInvalid\052/ @<%org.eclipse.jdt.annotation.Nullable%> Object e_1) {\n\t\t\t\t\t\tfinal /*@Thrown\052/ @<%org.eclipse.jdt.annotation.Nullable%> Object oclContainer_0 = <%org.eclipse.ocl.pivot.library.classifier.ClassifierOclContainerOperation%>.INSTANCE.evaluate(executor, e_1);\n\t\t\t\t\t\treturn oclContainer_0;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tfinal org.eclipse.ocl.pivot.internal.library.executor.@<%org.eclipse.jdt.annotation.NonNull%> ExecutorSingleIterationManager MGR_closure_0_0 = new <%org.eclipse.ocl.pivot.internal.library.executor.ExecutorSingleIterationManager%>(executor, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.ORD_CLSSid_OclElement, BODY_closure_0_0, asOrderedSet_0, ACC_closure_0_0);\n\t\t\t\tfinal /*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue closure_0 = (org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue)IMPL_closure_0_0.evaluateIteration(MGR_closure_0_0);\n\t\t\t\tfinal /*@Thrown\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue selectByKind_0 = (org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.Nullable%> OrderedSetValue)<%org.eclipse.ocl.pivot.library.collection.CollectionSelectByKindOperation%>.INSTANCE.evaluate(executor, closure_0, TYP_qvtrelation_c_c_Relation_0);\n\t\t\t\tfinal /*@Thrown\052/ org.eclipse.qvtd.pivot.qvtrelation.@<%org.eclipse.jdt.annotation.Nullable%> Relation relation = (org.eclipse.qvtd.pivot.qvtrelation.@<%org.eclipse.jdt.annotation.Nullable%> Relation)<%org.eclipse.ocl.pivot.library.collection.OrderedCollectionFirstOperation%>.INSTANCE.evaluate(selectByKind_0);\n\t\t\t\tCAUGHT_relation = relation;\n\t\t\t}\n\t\t\tcatch (<%java.lang.Exception%> e) {\n\t\t\t\tCAUGHT_relation = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createInvalidValue(e);\n\t\t\t}\n\t\t\t/*@Caught\052/ @<%org.eclipse.jdt.annotation.NonNull%> Object CAUGHT_eq;\n\t\t\ttry {\n\t\t\t\tif (CAUGHT_relation == null) {\n\t\t\t\t\tthrow new <%org.eclipse.ocl.pivot.values.InvalidValueException%>(\"Null source for \\\'\\\'http://www.eclipse.org/qvt/2015/QVTrelation\\\'::Relation::where\\\'\");\n\t\t\t\t}\n\t\t\t\tif (CAUGHT_relation instanceof <%org.eclipse.ocl.pivot.values.InvalidValueException%>) {\n\t\t\t\t\tthrow (<%org.eclipse.ocl.pivot.values.InvalidValueException%>)CAUGHT_relation;\n\t\t\t\t}\n\t\t\t\tfinal /*@Thrown\052/ org.eclipse.qvtd.pivot.qvtbase.@<%org.eclipse.jdt.annotation.Nullable%> Pattern where = ((<%org.eclipse.qvtd.pivot.qvtrelation.Relation%>)CAUGHT_relation).getWhere();\n\t\t\t\tif (CAUGHT_pattern instanceof <%org.eclipse.ocl.pivot.values.InvalidValueException%>) {\n\t\t\t\t\tthrow (<%org.eclipse.ocl.pivot.values.InvalidValueException%>)CAUGHT_pattern;\n\t\t\t\t}\n\t\t\t\tfinal /*@Thrown\052/ boolean eq = (where != null) ? where.equals(CAUGHT_pattern) : (CAUGHT_pattern == null);\n\t\t\t\tCAUGHT_eq = eq;\n\t\t\t}\n\t\t\tcatch (<%java.lang.Exception%> e) {\n\t\t\t\tCAUGHT_eq = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createInvalidValue(e);\n\t\t\t}\n\t\t\t@SuppressWarnings(\"null\")\n\t\t\tfinal /*@NonInvalid\052/ org.eclipse.qvtd.pivot.qvtrelation.@<%org.eclipse.jdt.annotation.NonNull%> Relation referredRelation = this.getReferredRelation();\n\t\t\tfinal /*@NonInvalid\052/ boolean isTopLevel = referredRelation.isIsTopLevel();\n\t\t\tfinal /*@NonInvalid\052/ java.lang.@<%org.eclipse.jdt.annotation.Nullable%> Boolean not = <%org.eclipse.ocl.pivot.library.logical.BooleanNotOperation%>.INSTANCE.evaluate(isTopLevel);\n\t\t\tfinal /*@Thrown\052/ java.lang.@<%org.eclipse.jdt.annotation.Nullable%> Boolean implies = <%org.eclipse.ocl.pivot.library.logical.BooleanImpliesOperation%>.INSTANCE.evaluate(CAUGHT_eq, not);\n\t\t\tCAUGHT_implies = implies;\n\t\t}\n\t\tcatch (<%java.lang.Exception%> e) {\n\t\t\tCAUGHT_implies = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createInvalidValue(e);\n\t\t}\n\t\tfinal /*@NonInvalid\052/ boolean logDiagnostic = <%org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation%>.INSTANCE.evaluate(executor, <%org.eclipse.ocl.pivot.ids.TypeId%>.BOOLEAN, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.STR_RelationCallExp_c_c_WhereInvocationIsANonTopRelation, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_implies, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.INT_0).booleanValue();\n\t\tsymbol_0 = logDiagnostic;\n\t}\n\treturn Boolean.TRUE == symbol_0;\n}\ncatch (<%java.lang.Throwable%> e) {\n\treturn <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.validationFailedDiagnostic(\"RelationCallExp::WhereInvocationIsANonTopRelation\", this, diagnostics, context, e);\n}'" |
| * @generated |
| */ |
| boolean validateWhereInvocationIsANonTopRelation(DiagnosticChain diagnostics, Map<Object, Object> context); |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DataTypeInvocationIsANonTopRelation'" |
| * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n\tself.argument->exists(type.oclIsKindOf(pivot::DataType) and not type.oclIsKindOf(pivot::CollectionType))\n\timplies not referredRelation.isTopLevel\n\t\n'" |
| * annotation="http://www.eclipse.org/emf/2002/GenModel body='try {\n\t/**\n\t *\n\t * inv DataTypeInvocationIsANonTopRelation:\n\t * let\n\t * severity : Integer[1] = \'RelationCallExp::DataTypeInvocationIsANonTopRelation\'.getSeverity()\n\t * in\n\t * if severity <= 0\n\t * then true\n\t * else\n\t * let\n\t * result : Boolean[?] = self.argument->exists(\n\t * type.oclIsKindOf(DataType) and\n\t * not type.oclIsKindOf(CollectionType)) implies not referredRelation.isTopLevel\n\t * in\n\t * \'RelationCallExp::DataTypeInvocationIsANonTopRelation\'.logDiagnostic(self, null, diagnostics, context, null, severity, result, 0)\n\t * endif\n\t \052/\n\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.evaluation.@<%org.eclipse.jdt.annotation.NonNull%> Executor executor = <%org.eclipse.ocl.pivot.utilities.PivotUtil%>.getExecutor(this, context);\n\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.ids.@<%org.eclipse.jdt.annotation.NonNull%> IdResolver idResolver = executor.getIdResolver();\n\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> IntegerValue severity_0 = <%org.eclipse.ocl.pivot.library.string.CGStringGetSeverityOperation%>.INSTANCE.evaluate(executor, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.STR_RelationCallExp_c_c_DataTypeInvocationIsANonTopRelation);\n\tfinal /*@NonInvalid\052/ boolean le = <%org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation%>.INSTANCE.evaluate(executor, severity_0, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.INT_0).booleanValue();\n\t/*@NonInvalid\052/ boolean symbol_0;\n\tif (le) {\n\t\tsymbol_0 = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE;\n\t}\n\telse {\n\t\t/*@Caught\052/ @<%org.eclipse.jdt.annotation.Nullable%> Object CAUGHT_result;\n\t\ttry {\n\t\t\t/*@Caught\052/ @<%org.eclipse.jdt.annotation.Nullable%> Object CAUGHT_exists;\n\t\t\ttry {\n\t\t\t\t@SuppressWarnings(\"null\")\n\t\t\t\tfinal /*@NonInvalid\052/ java.util.@<%org.eclipse.jdt.annotation.NonNull%> List<<%org.eclipse.ocl.pivot.OCLExpression%>> argument = this.getArgument();\n\t\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.values.@<%org.eclipse.jdt.annotation.NonNull%> OrderedSetValue BOXED_argument = idResolver.createOrderedSetOfAll(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.ORD_CLSSid_OCLExpression, argument);\n\t\t\t\t/*@Thrown\052/ @<%org.eclipse.jdt.annotation.Nullable%> Object accumulator = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.FALSE_VALUE;\n\t\t\t\tjava.util.@<%org.eclipse.jdt.annotation.NonNull%> Iterator<<%java.lang.Object%>> ITERATOR__1 = BOXED_argument.iterator();\n\t\t\t\t/*@Thrown\052/ java.lang.@<%org.eclipse.jdt.annotation.Nullable%> Boolean exists;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!ITERATOR__1.hasNext()) {\n\t\t\t\t\t\tif (accumulator == null) {\n\t\t\t\t\t\t\texists = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (accumulator == <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.FALSE_VALUE) {\n\t\t\t\t\t\t\texists = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.FALSE_VALUE;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthrow (<%org.eclipse.ocl.pivot.values.InvalidValueException%>)accumulator;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t@SuppressWarnings(\"null\")\n\t\t\t\t\t/*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> OCLExpression _1 = (org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> OCLExpression)ITERATOR__1.next();\n\t\t\t\t\t/**\n\t\t\t\t\t *\n\t\t\t\t\t * type.oclIsKindOf(DataType) and\n\t\t\t\t\t * not type.oclIsKindOf(CollectionType)\n\t\t\t\t\t \052/\n\t\t\t\t\t/*@Caught\052/ @<%org.eclipse.jdt.annotation.Nullable%> Object CAUGHT_and;\n\t\t\t\t\ttry {\n\t\t\t\t\t\t/*@Caught\052/ @<%org.eclipse.jdt.annotation.NonNull%> Object CAUGHT_oclIsKindOf;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Class TYP_DataType = idResolver.getClass(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.CLSSid_DataType, null);\n\t\t\t\t\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.Nullable%> Type type = _1.getType();\n\t\t\t\t\t\t\tfinal /*@Thrown\052/ boolean oclIsKindOf = <%org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation%>.INSTANCE.evaluate(executor, type, TYP_DataType).booleanValue();\n\t\t\t\t\t\t\tCAUGHT_oclIsKindOf = oclIsKindOf;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (<%java.lang.Exception%> e) {\n\t\t\t\t\t\t\tCAUGHT_oclIsKindOf = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createInvalidValue(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t/*@Caught\052/ @<%org.eclipse.jdt.annotation.NonNull%> Object CAUGHT_oclIsKindOf_0;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.NonNull%> Class TYP_CollectionType = idResolver.getClass(<%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.CLSSid_CollectionType, null);\n\t\t\t\t\t\t\tfinal /*@NonInvalid\052/ org.eclipse.ocl.pivot.@<%org.eclipse.jdt.annotation.Nullable%> Type type_0 = _1.getType();\n\t\t\t\t\t\t\tfinal /*@Thrown\052/ boolean oclIsKindOf_0 = <%org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation%>.INSTANCE.evaluate(executor, type_0, TYP_CollectionType).booleanValue();\n\t\t\t\t\t\t\tCAUGHT_oclIsKindOf_0 = oclIsKindOf_0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (<%java.lang.Exception%> e) {\n\t\t\t\t\t\t\tCAUGHT_oclIsKindOf_0 = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createInvalidValue(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfinal /*@NonInvalid\052/ java.lang.@<%org.eclipse.jdt.annotation.Nullable%> Boolean not = <%org.eclipse.ocl.pivot.library.logical.BooleanNotOperation%>.INSTANCE.evaluate(CAUGHT_oclIsKindOf_0);\n\t\t\t\t\t\tfinal /*@Thrown\052/ java.lang.@<%org.eclipse.jdt.annotation.Nullable%> Boolean and = <%org.eclipse.ocl.pivot.library.logical.BooleanAndOperation%>.INSTANCE.evaluate(CAUGHT_oclIsKindOf, not);\n\t\t\t\t\t\tCAUGHT_and = and;\n\t\t\t\t\t}\n\t\t\t\t\tcatch (<%java.lang.Exception%> e) {\n\t\t\t\t\t\tCAUGHT_and = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createInvalidValue(e);\n\t\t\t\t\t}\n\t\t\t\t\t//\n\t\t\t\t\tif (CAUGHT_and == <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE) {\t\t\t\t\t// Normal successful body evaluation result\n\t\t\t\t\t\texists = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.TRUE_VALUE;\n\t\t\t\t\t\tbreak;\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Stop immediately\n\t\t\t\t\t}\n\t\t\t\t\telse if (CAUGHT_and == <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.FALSE_VALUE) {\t\t\t\t// Normal unsuccessful body evaluation result\n\t\t\t\t\t\t;\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Carry on\n\t\t\t\t\t}\n\t\t\t\t\telse if (CAUGHT_and == null) {\t\t\t\t\t\t\t\t// Abnormal null body evaluation result\n\t\t\t\t\t\tif (accumulator == <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.FALSE_VALUE) {\n\t\t\t\t\t\t\taccumulator = null;\t\t\t\t\t\t\t\t\t\t// Cache a null failure\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (CAUGHT_and instanceof <%org.eclipse.ocl.pivot.values.InvalidValueException%>) {\t\t// Abnormal exception evaluation result\n\t\t\t\t\t\taccumulator = CAUGHT_and;\t\t\t\t\t\t\t\t\t// Cache an exception failure\n\t\t\t\t\t}\n\t\t\t\t\telse {\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Impossible badly typed result\n\t\t\t\t\t\taccumulator = new <%org.eclipse.ocl.pivot.values.InvalidValueException%>(<%org.eclipse.ocl.pivot.messages.PivotMessages%>.NonBooleanBody, \"exists\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tCAUGHT_exists = exists;\n\t\t\t}\n\t\t\tcatch (<%java.lang.Exception%> e) {\n\t\t\t\tCAUGHT_exists = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createInvalidValue(e);\n\t\t\t}\n\t\t\t@SuppressWarnings(\"null\")\n\t\t\tfinal /*@NonInvalid\052/ org.eclipse.qvtd.pivot.qvtrelation.@<%org.eclipse.jdt.annotation.NonNull%> Relation referredRelation = this.getReferredRelation();\n\t\t\tfinal /*@NonInvalid\052/ boolean isTopLevel = referredRelation.isIsTopLevel();\n\t\t\tfinal /*@NonInvalid\052/ java.lang.@<%org.eclipse.jdt.annotation.Nullable%> Boolean not_0 = <%org.eclipse.ocl.pivot.library.logical.BooleanNotOperation%>.INSTANCE.evaluate(isTopLevel);\n\t\t\tfinal /*@Thrown\052/ java.lang.@<%org.eclipse.jdt.annotation.Nullable%> Boolean result = <%org.eclipse.ocl.pivot.library.logical.BooleanImpliesOperation%>.INSTANCE.evaluate(CAUGHT_exists, not_0);\n\t\t\tCAUGHT_result = result;\n\t\t}\n\t\tcatch (<%java.lang.Exception%> e) {\n\t\t\tCAUGHT_result = <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.createInvalidValue(e);\n\t\t}\n\t\tfinal /*@NonInvalid\052/ boolean logDiagnostic = <%org.eclipse.ocl.pivot.library.string.CGStringLogDiagnosticOperation%>.INSTANCE.evaluate(executor, <%org.eclipse.ocl.pivot.ids.TypeId%>.BOOLEAN, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.STR_RelationCallExp_c_c_DataTypeInvocationIsANonTopRelation, this, (Object)null, diagnostics, context, (Object)null, severity_0, CAUGHT_result, <%org.eclipse.qvtd.pivot.qvtrelation.QVTrelationTables%>.INT_0).booleanValue();\n\t\tsymbol_0 = logDiagnostic;\n\t}\n\treturn Boolean.TRUE == symbol_0;\n}\ncatch (<%java.lang.Throwable%> e) {\n\treturn <%org.eclipse.ocl.pivot.utilities.ValueUtil%>.validationFailedDiagnostic(\"RelationCallExp::DataTypeInvocationIsANonTopRelation\", this, diagnostics, context, e);\n}'" |
| * @generated |
| */ |
| boolean validateDataTypeInvocationIsANonTopRelation(DiagnosticChain diagnostics, Map<Object, Object> context); |
| |
| } // RelationCallExp |