/***************************************************************************** * 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.expressions; import java.util.ArrayList; import java.util.List; import org.eclipse.papyrus.uml.alf.syntax.common.AssignedSource; import org.eclipse.papyrus.uml.alf.syntax.common.ElementReference; public class PropertyAccessExpression extends Expression { // Synthesized Properties public FeatureReference featureReference ; // Derived Properties public ElementReference feature ; //Constraints /* * The assignments before the expression of the feature reference of a property access expression are the * same as before the property access expression. */ public void checkPropertyAccessExpressionAssignmentsBefore() { } /* * The feature of a property access expression is the structural feature to which its feature reference * resolves. */ public void checkPropertyAccessExpressionFeatureDerivation() { } /* * The feature reference for a property access expression must resolve to a single structural feature. */ public void checkPropertyAccessExpressionFeatureResolution() { } /* * The multiplicity upper bound of a property access expression is given by the product of the multiplicity * upper bounds of the referenced feature and the target expression. */ public void checkPropertyAccessExpressionLowerDerivation() { } /* * The type of a property access expression is the type of the referenced feature. */ public void checkPropertyAccessExpressionTypeDerivation() { } /* * The multiplicity upper bound of a property access expression is given by the product of the multiplicity * upper bounds of the referenced feature and the target expression. */ public void checkPropertyAccessExpressionUpperDerivation() { } // Helper Operations /* * The assignments after a property access expression are the same as those after the target expression of * its feature reference. */ public List<AssignedSource> updateAssignments() { return new ArrayList<AssignedSource>() ; } }