edelta.lib.EdeltaDefaultRuntime Maven / Gradle / Ivy
/**
*
*/
package edelta.lib;
import org.eclipse.xtext.xbase.lib.Extension;
/**
* A concrete implementation of {@link EdeltaRuntime} that does not perform any
* specific operation, but it contains protected field of type
* {@link EdeltaStandardLibrary}, whose methods can be used as extension methods
* by the code generated by the DSL generator.
*
* @author Lorenzo Bettini
*
*/
public class EdeltaDefaultRuntime extends EdeltaRuntime {
/**
* This is protected since it provides transparent access to the
* {@link EdeltaStandardLibrary} to source code of the DSL.
*/
@Extension
protected EdeltaStandardLibrary stdLib;
/**
* @param other
*/
public EdeltaDefaultRuntime(EdeltaRuntime other) {
super(other);
stdLib = new EdeltaStandardLibrary(this);
}
public EdeltaDefaultRuntime(EdeltaModelManager modelManager) {
super(modelManager);
stdLib = new EdeltaStandardLibrary(this);
}
public EdeltaDefaultRuntime(EdeltaModelMigrator modelMigrator) {
super(modelMigrator);
stdLib = new EdeltaStandardLibrary(this);
}
}