blob: 28f19f19bb62182e8e74df943b4f74c5a1c5e6ad [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012 The University of York.
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* Contributors:
* Dimitrios Kolovos - initial API and implementation
******************************************************************************/
package org.eclipse.epsilon.eol.execute.control;
import org.eclipse.epsilon.common.module.ModuleElement;
import org.eclipse.epsilon.eol.exceptions.EolRuntimeException;
import org.eclipse.epsilon.eol.execute.context.IEolContext;
/**
* This IExecutionListener interface defines the methods required to get notifications abour the
* execution of AST elements of an Epsilon moudle.
*
* @author Dimitrios Kolovos
*
*/
public interface IExecutionListener {
/**
* The AST is about to execute.
*
* @param ast the ast
* @param context the context
*/
public void aboutToExecute(ModuleElement ast, IEolContext context);
/**
* The AST finished executing.
*
* @param ast the ast
* @param result the result of evaluating ast, calculated during execution
* @param context the context
*/
public void finishedExecuting(ModuleElement ast, Object result, IEolContext context);
/**
* The AST finished executing with an exception.
*
* @param ast the ast
* @param exception the exception
* @param context the context
*/
public void finishedExecutingWithException(ModuleElement ast, EolRuntimeException exception, IEolContext context);
}