/*****************************************************************************
* 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.ElementReference;
public class AcceptStatement extends Statement {
// Synthesized Properties
public List<AcceptBlock> acceptBlock ;
// Derived Properties
public ElementReference behavior ;
public boolean isSimple ;
// Constraints
/*
* If a name is assigned in any block of an accept statement, then the assigned source of the name after the
* accept statement is the accept statement itself.
*/
public void checkAcceptStatementAssignmentsAfter() {
}
/*
* The assignments before any block of an accept statement are the assignments before the accept
* statement.
*/
public void checkAcceptStatementAssignmentsBefore() {
}
/*
* For a compound accept statement, a local name defined in an accept block has the accept block as its
* assigned source before the block associated with the accept block. The type of the local name is the
* effective common ancestor of the specified signals for that accept clause, if one exists, and it is untyped
* otherwise. However, the local name is considered unassigned after the accept statement.
*/
public void checkAcceptStatementCompoundAcceptLocalName() {
}
/*
* An accept statement can only be used within the definition of an active behavior or the classifier
* behavior of an active class.
*/
public void checkAcceptStatementContext() {
}
/*
* The enclosing statement for all statements in the blocks of all accept blocks of an accept statement is the
* accept statement.
*/
public void checkAcceptStatementEnclosedStatements() {
}
/*
* An accept statement is simple if it has exactly one accept block and that accept block does not have a
* block.
*/
public void checkAcceptStatementIsSimpleDerivation() {
}
/*
* Any name defined in an accept block of an accept statement must be unassigned before the accept
* statement.
*/
public void checkAcceptStatementNames() {
}
/*
* If a name is unassigned before an accept statement and assigned in any block of an accept statement,
* then it must be assigned in every block.
*/
public void checkAcceptStatementNewAssignments() {
}
/*
* The containing behavior of an accept statement must have receptions for all signals from all accept
* blocks of the accept statement. No signal may be referenced in more than one accept block of an accept
* statement.
*/
public void checkAcceptStatementSignals() {
}
/*
* A local name specified in the accept block of a simple accept statement has the accept statement as its
* assigned source after the accept statement. The type of the local name is the effective common ancestor
* of the specified signals, if one exists, and it is untyped otherwise.
*/
public void checkAcceptStatementSimpleAcceptLocalName() {
}
}