From ba8e7ea0ddac0ce5c689d26f268a30f6cc2a1e64 Mon Sep 17 00:00:00 2001 From: Thomas Weber Date: Sat, 22 Aug 2020 14:06:02 -0500 Subject: [PATCH] ast: Do not analyze procedures multiple times --- src/compiler/astgen.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/compiler/astgen.js b/src/compiler/astgen.js index 45e63333..7b88c4bb 100644 --- a/src/compiler/astgen.js +++ b/src/compiler/astgen.js @@ -1310,7 +1310,7 @@ class ASTGenerator { /** @type {Object.} */ this.procedures = {}; - this.procedureStack = []; + this.analyzedProcedures = []; } addProcedureDependencies (dependencies) { @@ -1346,10 +1346,10 @@ class ASTGenerator { */ analyzeScript (tree) { for (const procedureCode of tree.dependedProcedures) { - if (this.procedureStack.includes(procedureCode)) { + if (this.analyzedProcedures.includes(procedureCode)) { continue; } - this.procedureStack.push(procedureCode); + this.analyzedProcedures.push(procedureCode); const procedureData = this.procedures[procedureCode]; this.analyzeScript(procedureData); @@ -1363,8 +1363,6 @@ class ASTGenerator { if (procedureData.yields) { tree.yields = true; } - - this.procedureStack.pop(); } }