public void PushBlock(Block block) { block.Parent = ActiveBlock; ActiveBlock.AddBlock(block); ActiveBlock = block; }
public void PushBlock(int kind, object obj = null) { var block = new Block { Kind = kind, Object = obj }; PushBlock(block); }
public BlockGenerator() { RootBlock = new Block(); ActiveBlock = RootBlock; }
public void AddBlock(Block block) { ActiveBlock.AddBlock(block); }
//public override string ToString() //{ // return string.Format("{0} {1}", Kind, Text); //} public void AddBlock(Block block) { if (Text.StringBuilder.Length != 0 || hasIndentChanged) { hasIndentChanged = false; var newBlock = new Block { Text = Text.Clone(), isSubBlock = true }; Text.StringBuilder.Clear(); AddBlock(newBlock); } block.Parent = this; Blocks.Add(block); }