Files
simulation_core/lib/CxxDemangler/CxxDemangler/ParsingContext.cs

35 lines
822 B
C#

namespace CxxDemangler
{
internal struct RewindState
{
public int Position { get; set; }
public int SubstitutionTableSize { get; set; }
}
internal struct ParsingContext
{
public SimpleStringParser Parser { get; set; }
public SubstitutionTable SubstitutionTable { get; set; }
public RewindState RewindState
{
get
{
return new RewindState()
{
Position = Parser.Position,
SubstitutionTableSize = SubstitutionTable.Size,
};
}
}
public void Rewind(RewindState rewind)
{
Parser.Position = rewind.Position;
SubstitutionTable.Rewind(rewind.SubstitutionTableSize);
}
}
}