Files
SWG-ScriptConverter/ScriptConverter/Ast/Expressions/Expression.cs
T
2019-01-23 22:52:45 -05:00

26 lines
693 B
C#

using System;
using ScriptConverter.Parser;
namespace ScriptConverter.Ast.Expressions
{
abstract class Expression
{
public readonly ScriptToken Start;
public readonly ScriptToken End;
public Expression Parent { get; protected set; }
protected Expression(ScriptToken start, ScriptToken end = null)
{
if (start == null)
throw new ArgumentNullException("start");
Start = start;
End = end ?? start;
}
public abstract TExpr Accept<TDoc, TDecl, TStmt, TExpr>(IAstVisitor<TDoc, TDecl, TStmt, TExpr> visitor);
public abstract void SetParent(Expression parent);
}
}