/**
 * generated by Xtext 2.10.0
 */
package org.eclipse.qvtd.doc.minioclcs.impl;

import org.eclipse.emf.ecore.EClass;

import org.eclipse.qvtd.doc.minioclcs.MinioclcsPackage;
import org.eclipse.qvtd.doc.minioclcs.PrimaryExpCS;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Primary Exp CS</b></em>'.
 * <!-- end-user-doc -->
 *
 * @generated
 */
public class PrimaryExpCSImpl extends CallExpCSImpl implements PrimaryExpCS
{
  /**
	 * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
	 * @generated
	 */
  protected PrimaryExpCSImpl()
  {
		super();
	}

  /**
	 * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
	 * @generated
	 */
  @Override
  protected EClass eStaticClass()
  {
		return MinioclcsPackage.Literals.PRIMARY_EXP_CS;
	}

} //PrimaryExpCSImpl
