| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html><head> |
| <title></title> |
| <style type="text/css"> |
| <!--code { font-family: Courier New, Courier; font-size: 10pt; margin: 0px; }--> |
| </style> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> |
| </head><body> |
| |
| |
| <!-- ======================================================== --> |
| <!-- = Java Sourcecode to HTML automatically converted code = --> |
| <!-- = Java2Html Converter 5.0 [2006-02-26] by Markus Gebhard markus@jave.de = --> |
| <!-- = Further information: http://www.java2html.de = --> |
| <div align="left" class="java"> |
| <table border="0" cellpadding="3" cellspacing="0" bgcolor="#ffffff"> |
| <tr> |
| <!-- start source code --> |
| <td nowrap="nowrap" valign="top" align="left"> |
| <code> |
| <font color="#7f0055"><b>package </b></font><font color="#000000">oclastview.visitors.arithSimp;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">java.util.Collection;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">java.util.List;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EClass;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EClassifier;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EEnumLiteral;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EObject;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EOperation;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EPackage;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EParameter;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.EStructuralFeature;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.emf.ecore.util.EcoreUtil;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.Environment;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.ecore.CallOperationAction;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.ecore.Constraint;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.ecore.EcoreEnvironmentFactory;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.ecore.SendSignalAction;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.AssociationClassCallExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.BooleanLiteralExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.CollectionItem;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.CollectionLiteralExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.CollectionLiteralPart;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.CollectionRange;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.EnumLiteralExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.IfExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.IntegerLiteralExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.InvalidLiteralExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.IterateExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.IteratorExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.LetExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.MessageExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.NullLiteralExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.OCLExpression;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.OperationCallExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.PropertyCallExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.RealLiteralExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.StateExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.StringLiteralExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.TupleLiteralExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.TupleLiteralPart;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.TypeExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.UnlimitedNaturalLiteralExp;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.expressions.Variable;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.utilities.AbstractVisitor;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.utilities.ExpressionInOCL;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.utilities.UMLReflection;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.ocl.utilities.Visitable;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.uml2.uml.Class;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.uml2.uml.Classifier;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.uml2.uml.EnumerationLiteral;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.uml2.uml.Operation;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.uml2.uml.Package;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.uml2.uml.Parameter;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.uml2.uml.Property;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.uml2.uml.State;</font><br /> |
| <font color="#7f0055"><b>import </b></font><font color="#000000">org.eclipse.uml2.uml.ValueSpecification;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#7f0055"><b>public class </b></font><font color="#000000">OCLCloner<C, O, P, EL, PM, S, COA, SSA, CT> </font><font color="#7f0055"><b>extends</b></font><br /> |
| <font color="#ffffff"> </font><font color="#000000">AbstractVisitor<Visitable, C, O, P, EL, PM, S, COA, SSA, CT> </font><font color="#000000">{</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Environment<?, C, O, P, EL, PM, S, COA, SSA, CT, ?, ?> _env = </font><font color="#7f0055"><b>null</b></font><font color="#000000">;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public static </b></font><font color="#000000">OCLCloner<EClassifier, EOperation, EStructuralFeature, EEnumLiteral, EParameter, EObject, CallOperationAction, SendSignalAction, Constraint> getEcoreVersion</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Environment<EPackage, EClassifier, EOperation, EStructuralFeature, EEnumLiteral, EParameter, EObject, CallOperationAction, SendSignalAction, Constraint, EClass, EObject> auxEnv = EcoreEnvironmentFactory.INSTANCE</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.createEnvironment</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">OCLCloner<EClassifier, EOperation, EStructuralFeature, EEnumLiteral, EParameter, EObject, CallOperationAction, SendSignalAction, Constraint> res = </font><font color="#7f0055"><b>new </b></font><font color="#000000">OCLCloner<EClassifier, EOperation, EStructuralFeature, EEnumLiteral, EParameter, EObject, CallOperationAction, SendSignalAction, Constraint></font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">auxEnv</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public static </b></font><font color="#000000">OCLCloner<Classifier, Operation, Property, EnumerationLiteral, Parameter, State, CallOperationAction, SendSignalAction, org.eclipse.uml2.uml.Constraint> getUML2Version</font><font color="#000000">() {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">org.eclipse.ocl.uml.OCL umlocl = org.eclipse.ocl.uml.OCL.newInstance</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Environment<Package, Classifier, Operation, Property, EnumerationLiteral, Parameter, State, org.eclipse.uml2.uml.CallOperationAction, org.eclipse.uml2.uml.SendSignalAction, org.eclipse.uml2.uml.Constraint, Class, EObject> auxEnv = umlocl</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.getEnvironment</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">OCLCloner<Classifier, Operation, Property, EnumerationLiteral, Parameter, State, CallOperationAction, SendSignalAction, org.eclipse.uml2.uml.Constraint> res = </font><font color="#7f0055"><b>new </b></font><font color="#000000">OCLCloner</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">auxEnv</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>private final </b></font><font color="#000000">UMLReflection<?, C, O, P, EL, PM, S, COA, SSA, CT> uml;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">/**</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">* Initializes me with my environment.</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">* </font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">* </font><font color="#7f9fbf">@param </font><font color="#3f5fbf">env</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">* my environment</font><br /> |
| <font color="#ffffff"> </font><font color="#3f5fbf">*/</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">OCLCloner</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Environment<?, C, O, P, EL, PM, S, COA, SSA, CT, ?, ?> env</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">_env = env;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>this</b></font><font color="#000000">.uml = </font><font color="#000000">(</font><font color="#000000">env == </font><font color="#7f0055"><b>null</b></font><font color="#000000">) </font><font color="#000000">? </font><font color="#7f0055"><b>null </b></font><font color="#000000">: env.getUMLReflection</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#000000">TypeExp<C> visitTypeExp</font><font color="#000000">(</font><font color="#000000">TypeExp<C> t</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">TypeExp<C> res = </font><font color="#000000">(</font><font color="#000000">TypeExp<C></font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">(</font><font color="#000000">t</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#000000">Variable<C, PM> visitVariable</font><font color="#000000">(</font><font color="#000000">Variable<C, PM> variable</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Variable<C, PM> res = </font><font color="#000000">(</font><font color="#000000">Variable<C, PM></font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">(</font><font color="#000000">variable</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#000000">StateExp<C, S> visitStateExp</font><font color="#000000">(</font><font color="#000000">StateExp<C, S> stateExp</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">StateExp<C, S> res = </font><font color="#000000">(</font><font color="#000000">StateExp<C, S></font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">(</font><font color="#000000">stateExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#000000">IntegerLiteralExp<C> visitIntegerLiteralExp</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">IntegerLiteralExp<C> literalExp</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">IntegerLiteralExp<C> res = </font><font color="#000000">(</font><font color="#000000">IntegerLiteralExp<C></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">literalExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#000000">RealLiteralExp<C> visitRealLiteralExp</font><font color="#000000">(</font><font color="#000000">RealLiteralExp<C> literalExp</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">RealLiteralExp<C> res = </font><font color="#000000">(</font><font color="#000000">RealLiteralExp<C></font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">(</font><font color="#000000">literalExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#000000">StringLiteralExp<C> visitStringLiteralExp</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">StringLiteralExp<C> literalExp</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">StringLiteralExp<C> res = </font><font color="#000000">(</font><font color="#000000">StringLiteralExp<C></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">literalExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#000000">BooleanLiteralExp<C> visitBooleanLiteralExp</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">BooleanLiteralExp<C> literalExp</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">BooleanLiteralExp<C> res = </font><font color="#000000">(</font><font color="#000000">BooleanLiteralExp<C></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">literalExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#000000">NullLiteralExp<C> visitNullLiteralExp</font><font color="#000000">(</font><font color="#000000">NullLiteralExp<C> literalExp</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">NullLiteralExp<C> res = </font><font color="#000000">(</font><font color="#000000">NullLiteralExp<C></font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">(</font><font color="#000000">literalExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#000000">InvalidLiteralExp<C> visitInvalidLiteralExp</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">InvalidLiteralExp<C> literalExp</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">InvalidLiteralExp<C> res = </font><font color="#000000">(</font><font color="#000000">InvalidLiteralExp<C></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">literalExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#000000">EnumLiteralExp<C, EL> visitEnumLiteralExp</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">EnumLiteralExp<C, EL> literalExp</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">EnumLiteralExp<C, EL> res = </font><font color="#000000">(</font><font color="#000000">EnumLiteralExp<C, EL></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">literalExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>public </b></font><font color="#000000">UnlimitedNaturalLiteralExp<C> visitUnlimitedNaturalLiteralExp</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">UnlimitedNaturalLiteralExp<C> literalExp</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">UnlimitedNaturalLiteralExp<C> res = </font><font color="#000000">(</font><font color="#000000">UnlimitedNaturalLiteralExp<C></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">literalExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#3f7f5f">// handlers</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleAssociationClassCallExp</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">AssociationClassCallExp<C, P> callExp, Visitable sourceResult,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">List<Visitable> qualifierResults</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">AssociationClassCallExp<C, P> res = </font><font color="#000000">(</font><font color="#000000">AssociationClassCallExp<C, P></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">callExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setSource</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">sourceResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getQualifier</font><font color="#000000">()</font><font color="#000000">.clear</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>for </b></font><font color="#000000">(</font><font color="#000000">Visitable oq : qualifierResults</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getQualifier</font><font color="#000000">()</font><font color="#000000">.add</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">oq</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleCollectionItem</font><font color="#000000">(</font><font color="#000000">CollectionItem<C> item,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable itemResult</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">CollectionItem<C> res = </font><font color="#000000">(</font><font color="#000000">CollectionItem<C></font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">(</font><font color="#000000">item</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setItem</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">itemResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleCollectionLiteralExp</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">CollectionLiteralExp<C> literalExp, List<Visitable> partResults</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">CollectionLiteralExp<C> res = </font><font color="#000000">(</font><font color="#000000">CollectionLiteralExp<C></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">literalExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getPart</font><font color="#000000">()</font><font color="#000000">.clear</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getPart</font><font color="#000000">()</font><font color="#000000">.addAll</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">(</font><font color="#000000">Collection<? </font><font color="#7f0055"><b>extends </b></font><font color="#000000">CollectionLiteralPart<C>></font><font color="#000000">) </font><font color="#000000">partResults</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleCollectionRange</font><font color="#000000">(</font><font color="#000000">CollectionRange<C> range,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable firstResult, Visitable lastResult</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">CollectionRange<C> res = </font><font color="#000000">(</font><font color="#000000">CollectionRange<C></font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">(</font><font color="#000000">range</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setFirst</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">firstResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setLast</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">lastResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleConstraint</font><font color="#000000">(</font><font color="#000000">CT constraint,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable specificationResult</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">CT res = </font><font color="#000000">(</font><font color="#000000">CT</font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">((</font><font color="#000000">EObject</font><font color="#000000">) </font><font color="#000000">constraint</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">constraint </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">org.eclipse.ocl.ecore.Constraint</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">org.eclipse.ocl.ecore.Constraint ct = </font><font color="#000000">(</font><font color="#000000">org.eclipse.ocl.ecore.Constraint</font><font color="#000000">) </font><font color="#000000">constraint;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">ct</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.setSpecification</font><font color="#000000">((</font><font color="#000000">ExpressionInOCL<EClassifier, EParameter></font><font color="#000000">) </font><font color="#000000">specificationResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">constraint </font><font color="#7f0055"><b>instanceof </b></font><font color="#000000">org.eclipse.uml2.uml.Constraint</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">org.eclipse.uml2.uml.Constraint ct = </font><font color="#000000">(</font><font color="#000000">org.eclipse.uml2.uml.Constraint</font><font color="#000000">) </font><font color="#000000">constraint;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">ct.setSpecification</font><font color="#000000">((</font><font color="#000000">ValueSpecification</font><font color="#000000">) </font><font color="#000000">specificationResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">(</font><font color="#000000">Visitable</font><font color="#000000">) </font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleExpressionInOCL</font><font color="#000000">(</font><font color="#000000">ExpressionInOCL<C, PM> callExp,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable contextResult, Visitable resultResult,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">List<Visitable> parameterResults, Visitable bodyResult</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">ExpressionInOCL<C, PM> res = </font><font color="#000000">(</font><font color="#000000">ExpressionInOCL<C, PM></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">callExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setBodyExpression</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">bodyResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setContextVariable</font><font color="#000000">((</font><font color="#000000">Variable<C, PM></font><font color="#000000">) </font><font color="#000000">contextResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setResultVariable</font><font color="#000000">((</font><font color="#000000">Variable<C, PM></font><font color="#000000">) </font><font color="#000000">resultResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleIfExp</font><font color="#000000">(</font><font color="#000000">IfExp<C> ifExp, Visitable conditionResult,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable thenResult, Visitable elseResult</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">IfExp<C> res = </font><font color="#000000">(</font><font color="#000000">IfExp<C></font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">(</font><font color="#000000">ifExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setCondition</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">conditionResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setThenExpression</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">thenResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setElseExpression</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">elseResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleIterateExp</font><font color="#000000">(</font><font color="#000000">IterateExp<C, PM> callExp,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable sourceResult, List<Visitable> variableResults,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable resultResult, Visitable bodyResult</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">IterateExp<C, PM> res = </font><font color="#000000">(</font><font color="#000000">IterateExp<C, PM></font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">(</font><font color="#000000">callExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setSource</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">sourceResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setBody</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">bodyResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setResult</font><font color="#000000">((</font><font color="#000000">Variable<C, PM></font><font color="#000000">) </font><font color="#000000">resultResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getIterator</font><font color="#000000">()</font><font color="#000000">.clear</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getIterator</font><font color="#000000">()</font><font color="#000000">.addAll</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">(</font><font color="#000000">Collection<? </font><font color="#7f0055"><b>extends </b></font><font color="#000000">Variable<C, PM>></font><font color="#000000">) </font><font color="#000000">variableResults</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleIteratorExp</font><font color="#000000">(</font><font color="#000000">IteratorExp<C, PM> callExp,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable sourceResult, List<Visitable> variableResults,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable bodyResult</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">IteratorExp<C, PM> res = </font><font color="#000000">(</font><font color="#000000">IteratorExp<C, PM></font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">(</font><font color="#000000">callExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setSource</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">sourceResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setBody</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">bodyResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getIterator</font><font color="#000000">()</font><font color="#000000">.clear</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getIterator</font><font color="#000000">()</font><font color="#000000">.addAll</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">(</font><font color="#000000">Collection<? </font><font color="#7f0055"><b>extends </b></font><font color="#000000">Variable<C, PM>></font><font color="#000000">) </font><font color="#000000">variableResults</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleLetExp</font><font color="#000000">(</font><font color="#000000">LetExp<C, PM> letExp,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable variableResult, Visitable inResult</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">LetExp<C, PM> res = </font><font color="#000000">(</font><font color="#000000">LetExp<C, PM></font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">(</font><font color="#000000">letExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setVariable</font><font color="#000000">((</font><font color="#000000">Variable<C, PM></font><font color="#000000">) </font><font color="#000000">variableResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleMessageExp</font><font color="#000000">(</font><font color="#000000">MessageExp<C, COA, SSA> messageExp,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable targetResult, List<Visitable> argumentResults</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">MessageExp<C, COA, SSA> res = </font><font color="#000000">(</font><font color="#000000">MessageExp<C, COA, SSA></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">messageExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setTarget</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">targetResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getArgument</font><font color="#000000">()</font><font color="#000000">.clear</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getArgument</font><font color="#000000">()</font><font color="#000000">.addAll</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">(</font><font color="#000000">Collection<? </font><font color="#7f0055"><b>extends </b></font><font color="#000000">OCLExpression<C>></font><font color="#000000">) </font><font color="#000000">argumentResults</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleOperationCallExp</font><font color="#000000">(</font><font color="#000000">OperationCallExp<C, O> callExp,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable sourceResult, List<Visitable> argumentResults</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">OperationCallExp<C, O> res = </font><font color="#000000">(</font><font color="#000000">OperationCallExp<C, O></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">callExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setSource</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">sourceResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getArgument</font><font color="#000000">()</font><font color="#000000">.clear</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getArgument</font><font color="#000000">()</font><font color="#000000">.addAll</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">(</font><font color="#000000">Collection<? </font><font color="#7f0055"><b>extends </b></font><font color="#000000">OCLExpression<C>></font><font color="#000000">) </font><font color="#000000">argumentResults</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handlePropertyCallExp</font><font color="#000000">(</font><font color="#000000">PropertyCallExp<C, P> callExp,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable sourceResult, List<Visitable> qualifierResults</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">PropertyCallExp<C, P> res = </font><font color="#000000">(</font><font color="#000000">PropertyCallExp<C, P></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">callExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setSource</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">sourceResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getQualifier</font><font color="#000000">()</font><font color="#000000">.clear</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getQualifier</font><font color="#000000">()</font><font color="#000000">.addAll</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">(</font><font color="#000000">Collection<? </font><font color="#7f0055"><b>extends </b></font><font color="#000000">OCLExpression<C>></font><font color="#000000">) </font><font color="#000000">qualifierResults</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleTupleLiteralExp</font><font color="#000000">(</font><font color="#000000">TupleLiteralExp<C, P> literalExp,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">List<Visitable> partResults</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">TupleLiteralExp<C, P> res = </font><font color="#000000">(</font><font color="#000000">TupleLiteralExp<C, P></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">literalExp</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getPart</font><font color="#000000">()</font><font color="#000000">.clear</font><font color="#000000">()</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.getPart</font><font color="#000000">()</font><font color="#000000">.addAll</font><font color="#000000">(</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">(</font><font color="#000000">Collection<? </font><font color="#7f0055"><b>extends </b></font><font color="#000000">TupleLiteralPart<C, P>></font><font color="#000000">) </font><font color="#000000">partResults</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleTupleLiteralPart</font><font color="#000000">(</font><font color="#000000">TupleLiteralPart<C, P> part,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable valueResult</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">TupleLiteralPart<C, P> res = </font><font color="#000000">(</font><font color="#000000">TupleLiteralPart<C, P></font><font color="#000000">) </font><font color="#000000">EcoreUtil</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">.copy</font><font color="#000000">(</font><font color="#000000">part</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setValue</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">valueResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#ffffff"> </font><font color="#646464">@Override</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>protected </b></font><font color="#000000">Visitable handleVariable</font><font color="#000000">(</font><font color="#000000">Variable<C, PM> variable,</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Visitable initResult</font><font color="#000000">) {</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">Variable<C, PM> res = </font><font color="#000000">(</font><font color="#000000">Variable<C, PM></font><font color="#000000">) </font><font color="#000000">EcoreUtil.copy</font><font color="#000000">(</font><font color="#000000">variable</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">res.setInitExpression</font><font color="#000000">((</font><font color="#000000">OCLExpression<C></font><font color="#000000">) </font><font color="#000000">initResult</font><font color="#000000">)</font><font color="#000000">;</font><br /> |
| <font color="#ffffff"> </font><font color="#7f0055"><b>return </b></font><font color="#000000">res;</font><br /> |
| <font color="#ffffff"> </font><font color="#000000">}</font><br /> |
| <font color="#ffffff"></font><br /> |
| <font color="#000000">}</font></code> |
| |
| </td> |
| <!-- end source code --> |
| </tr> |
| </table> |
| </div> |
| <!-- = END of automatically generated HTML code = --> |
| <!-- ======================================================== --> |
| |
| |
| </body></html> |