31 lines
859 B
C#
31 lines
859 B
C#
using System;
|
|
|
|
namespace AspClassic.Parser;
|
|
|
|
/// <summary>
|
|
/// A parse tree for Me, MyBase or MyClass.
|
|
/// </summary>
|
|
public sealed class InstanceExpression : Expression
|
|
{
|
|
private InstanceType _InstanceType;
|
|
|
|
/// <summary>
|
|
/// The type of the instance expression.
|
|
/// </summary>
|
|
public InstanceType InstanceType => _InstanceType;
|
|
|
|
/// <summary>
|
|
/// Constructs a new parse tree for My, MyBase or MyClass.
|
|
/// </summary>
|
|
/// <param name="instanceType">The type of the instance expression.</param>
|
|
/// <param name="span">The location of the parse tree.</param>
|
|
public InstanceExpression(InstanceType instanceType, Span span)
|
|
: base(TreeType.InstanceExpression, span)
|
|
{
|
|
if (instanceType < InstanceType.Me || instanceType > InstanceType.MyBase)
|
|
{
|
|
throw new ArgumentOutOfRangeException("instanceType");
|
|
}
|
|
_InstanceType = instanceType;
|
|
}
|
|
}
|