コード例 #1
0
ファイル: ClosureRemover.cs プロジェクト: dryush/AntiClosure
        public void RemoveClosures(Node_FunctionDecl root)
        {
            AC_FunctionDeclTree acFunctionDeclTree = new AC_FunctionDeclTree();

            var fillFunctionDeclarationsInfoVisiter = new FillFunctionDeclarationsInfoVisitor(acFunctionDeclTree);

            fillFunctionDeclarationsInfoVisiter.Visit(root);

            var fillFunctionCallsInfoVisiter = new FillFunctionCallsInfoVisitor(acFunctionDeclTree);

            fillFunctionCallsInfoVisiter.Visit(root);

            RemoveClosures(acFunctionDeclTree.FunctionsTable[root]);
            UpFunctions(root, acFunctionDeclTree.FunctionsTable.Values);
        }
コード例 #2
0
ファイル: ClosureRemover.cs プロジェクト: dryush/AntiClosure
 public FillFunctionDeclarationsInfoVisitor(AC_FunctionDeclTree functionDeclTree)
 {
     this.AC_FunctionDeclTree = functionDeclTree;
 }