progress
This commit is contained in:
parent
16e76d6b31
commit
484dbfc9d9
529 changed files with 113694 additions and 0 deletions
36
AspClassic.Scripting/ScriptCode.cs
Normal file
36
AspClassic.Scripting/ScriptCode.cs
Normal 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}";
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue