internal BuildTimeScopeBlock AddChild() { BuildTimeScopeBlock block = new BuildTimeScopeBlock(this); ChildNodes.Add(block); return(block); }
internal RuntimeScopeBlock PopBlock() { var tree = m_ScopeTreeHead; m_ScopeTreeHead.ResolveGotos(); m_ScopeTreeHead = m_ScopeTreeHead.Parent; if (m_ScopeTreeHead == null) { throw new InternalErrorException("Can't pop block - stack underflow"); } return(tree.ScopeBlock); }
internal void PushBlock() { m_ScopeTreeHead = m_ScopeTreeHead.AddChild(); }
internal BuildTimeScopeFrame(bool hasVarArgs) { HasVarArgs = hasVarArgs; m_ScopeTreeHead = m_ScopeTreeRoot = new BuildTimeScopeBlock(null); }
internal BuildTimeScopeBlock(BuildTimeScopeBlock parent) { Parent = parent; ChildNodes = new List <BuildTimeScopeBlock>(); ScopeBlock = new RuntimeScopeBlock(); }