コード例 #1
0
        internal BuildTimeScopeBlock AddChild()
        {
            BuildTimeScopeBlock block = new BuildTimeScopeBlock(this);

            ChildNodes.Add(block);
            return(block);
        }
コード例 #2
0
ファイル: BuildTimeScopeFrame.cs プロジェクト: amseet/Orion
        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);
        }
コード例 #3
0
ファイル: BuildTimeScopeFrame.cs プロジェクト: amseet/Orion
 internal void PushBlock()
 {
     m_ScopeTreeHead = m_ScopeTreeHead.AddChild();
 }
コード例 #4
0
ファイル: BuildTimeScopeFrame.cs プロジェクト: amseet/Orion
 internal BuildTimeScopeFrame(bool hasVarArgs)
 {
     HasVarArgs      = hasVarArgs;
     m_ScopeTreeHead = m_ScopeTreeRoot = new BuildTimeScopeBlock(null);
 }
コード例 #5
0
 internal BuildTimeScopeBlock(BuildTimeScopeBlock parent)
 {
     Parent     = parent;
     ChildNodes = new List <BuildTimeScopeBlock>();
     ScopeBlock = new RuntimeScopeBlock();
 }