/**
 * <copyright>
 * </copyright>
 *
 * $Id: BreakExp.java,v 1.1 2008/09/02 20:36:35 radvorak Exp $
 */
package org.eclipse.m2m.qvt.oml.emof.ImperativeOCL;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Break Exp</b></em>'.
 * <!-- end-user-doc -->
 *
 *
 * @see org.eclipse.m2m.qvt.oml.emof.ImperativeOCL.ImperativeOCLPackage#getBreakExp()
 * @model
 * @generated
 */
public interface BreakExp extends ImperativeExpression {
} // BreakExp
