/** * <copyright> * * Copyright (c) 2013 Willink Transformations Ltd., University of York and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Adolfo Sanchez-Barbudo Herrera (University of York) - initial API and implementation * * </copyright> */ package org.eclipse.qvto.examples.build.utilities; import org.eclipse.emf.codegen.ecore.genmodel.GenPackage; import org.eclipse.emf.ecore.EPackage; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.ocl.pivot.model.OCLstdlib; import org.eclipse.ocl.xtext.essentialocl.EssentialOCLStandaloneSetup; import org.eclipse.qvto.examples.xtext.imperativeocl.ImperativeOCLStandaloneSetup; import org.eclipse.qvto.examples.xtext.qvtoperational.QVTOperationalStandaloneSetup; // TODO non-derived visitor is not supported, since currently // the root CS2AS are not generated but manually coded. public class GenerateCS2ASVisitors extends org.eclipse.ocl.examples.build.xtend.GenerateCS2ASVisitors { // private String asGenModelURI; @Override protected void doSetup() { EssentialOCLStandaloneSetup.doSetup(); ImperativeOCLStandaloneSetup.doSetup(); QVTOperationalStandaloneSetup.doSetup(); OCLstdlib.install(); } @Override public void generateVisitors(GenPackage genPackage) { super.generateVisitors(genPackage); EPackage csPackage = genPackage.getEcorePackage(); generateAbstractExtendingDelegatingVisitor(csPackage); // FIXME not generated by OCL. Move to GenerateCSVisitors } @Override protected void generateContainmentVisitor(@NonNull GenPackage genPackage) { if (isDerived()) { // CS2ASCodeGenerator.generate(genPackage, projectPrefix, projectName, visitorPackageName, visitorClassName, // superProjectPrefix, superProjectName, superVisitorClassName // ); } else { // CS2ASCodeGenerator.generate(genPackage, projectPrefix, projectName, visitorPackageName, visitorClassName, // null, null, null); } } }