/******************************************************************************* | |
* Copyright (c) 2004-2008 Akos Horvath, Gergely Varro and Daniel Varro | |
* 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: | |
* Akos Horvath, Gergely Varro - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.viatra2.gtasm.patternmatcher; | |
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.Variable; | |
/* | |
* TODO The interpreted engine uses the following mappings: | |
* VariableType => PatternVariable | |
* ValueType => AnyModelElement | |
*/ | |
/** | |
* The matching interface. A matching consists of bindings of pattern variables | |
* to model elements. | |
* | |
* @author Gergely Varro | |
*/ | |
public interface IMatching { | |
/** | |
* Returns the model element to which this matching binds the specified | |
* variable. | |
* @param variable variable whose associated model element is to be | |
* returned. | |
* @return the model element to which this matching binds the specified | |
* key. | |
* @throws NullPointerException if the variable is <code>null</code>. | |
*/ | |
public Object lookup(Variable variable); | |
public Object lookup(int position); | |
} |