blob: 9b4783f07d3430d512e90aceef06d4119c7bd327 [file] [log] [blame]
using System;
namespace AppsheetEpplus;
/// <summary>
/// Represents a parsing of a single input or workbook addrses.
/// </summary>
public class ParsingScope : IDisposable {
private readonly ParsingScopes _parsingScopes;
public ParsingScope(ParsingScopes parsingScopes, RangeAddress address)
: this(parsingScopes, null, address) {}
public ParsingScope(ParsingScopes parsingScopes, ParsingScope parent, RangeAddress address) {
_parsingScopes = parsingScopes;
Parent = parent;
Address = address;
}
/// <summary>
/// Id of the scope.
/// </summary>
public Guid ScopeId { get; private set; } = Guid.NewGuid();
/// <summary>
/// The calling scope.
/// </summary>
public ParsingScope Parent { get; private set; }
/// <summary>
/// The address of the cell currently beeing parsed.
/// </summary>
public RangeAddress Address { get; private set; }
/// <summary>
/// True if the current scope is a Subtotal function beeing executed.
/// </summary>
public bool IsSubtotal { get; set; }
public void Dispose() {
_parsingScopes.KillScope(this);
}
}