コード例 #1
0
ファイル: CodeGenerator.cs プロジェクト: kirobame/Orion
        public void ReserveLocal(string name)
        {
            if (ContainsLocalByName(name))
            {
                throw new InvalidOperationException($"A local named \"{name}\" already exists in the current scope or an enclosing scope");
            }

            LocalScopes.LastOrDefault().Add(name);
        }
コード例 #2
0
ファイル: CodeGenerator.cs プロジェクト: kirobame/Orion
 public void ExitLocalScope()
 {
     LocalScopes.RemoveAt(LocalScopes.Count - 1);
 }
コード例 #3
0
ファイル: CodeGenerator.cs プロジェクト: kirobame/Orion
 public void EnterLocalScope()
 {
     LocalScopes.Add(new HashSet <string>());
 }