This commit is contained in:
Jelle Luteijn 2022-05-15 11:19:49 +02:00
parent 16e76d6b31
commit 484dbfc9d9
529 changed files with 113694 additions and 0 deletions

View file

@ -0,0 +1,36 @@
using AspClassic.Scripting.Runtime;
using AspClassic.Scripting.Utils;
namespace AspClassic.Scripting;
public abstract class ScriptCode
{
private readonly SourceUnit _sourceUnit;
public LanguageContext LanguageContext => _sourceUnit.LanguageContext;
public SourceUnit SourceUnit => _sourceUnit;
protected ScriptCode(SourceUnit sourceUnit)
{
ContractUtils.RequiresNotNull(sourceUnit, "sourceUnit");
_sourceUnit = sourceUnit;
}
public virtual Scope CreateScope()
{
return new Scope();
}
public virtual object Run()
{
return Run(CreateScope());
}
public abstract object Run(Scope scope);
public override string ToString()
{
return $"ScriptCode '{SourceUnit.Path}' from {LanguageContext.GetType().Name}";
}
}