Ejemplo n.º 1
0
        internal BuildTimeScopeBlock AddChild()
        {
            BuildTimeScopeBlock block = new BuildTimeScopeBlock(this);

            ChildNodes.Add(block);
            return(block);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 internal void PushBlock()
 {
     m_ScopeTreeHead = m_ScopeTreeHead.AddChild();
 }
Ejemplo n.º 4
0
 internal BuildTimeScopeFrame(bool hasVarArgs)
 {
     HasVarArgs      = hasVarArgs;
     m_ScopeTreeHead = m_ScopeTreeRoot = new BuildTimeScopeBlock(null);
 }
Ejemplo n.º 5
0
 internal BuildTimeScopeBlock(BuildTimeScopeBlock parent)
 {
     Parent     = parent;
     ChildNodes = new List <BuildTimeScopeBlock>();
     ScopeBlock = new RuntimeScopeBlock();
 }