/***************************************************************************** * Copyright (c) 2011 CEA LIST. * * * 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: * CEA LIST - Initial API and implementation * *****************************************************************************/ package org.eclipse.papyrus.uml.alf.syntax.statements; import java.util.List; import org.eclipse.papyrus.uml.alf.syntax.common.AssignedSource; import org.eclipse.papyrus.uml.alf.syntax.common.DocumentedElement; public abstract class Statement extends DocumentedElement{ // Synthesized Properties public List<Annotation> annotation ; // Derived Properties public List<AssignedSource> assignmentAfter ; public List<AssignedSource> assignmentBefore ; public Statement enclosingStatement ; public boolean isIsolated ; // Constraints /* * All the annotations of a statement must be allowed, as given by the annotationAllowed operation for the * statement. */ public void checkStatementAnnotationsAllowed() { } /* * A statement is isolated if it has an @isolated annotation. */ public void checkStatementIsIsolatedDerivation() { } /* * No name may be assigned more than once before or after a statement. */ public void checkStatementUniqueAssignments() { } //Helper Operations /* * Returns true if the given annotation is allowed for this kind of statement. By default, only an @isolated * annotation is allowed, with no arguments. This operation is redefined only in subclasses of Statement for * kinds of statements that allow different annotations than this default. */ public boolean annotationAllowed(Annotation annotation) { return false ; } }