This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git

commit db0c0de8c7de618b491aabd29cc5ea30b91849f4
Author: Josh Tynjala <[email protected]>
AuthorDate: Wed Nov 6 15:29:43 2024 -0800

    formatter: call workspace.close() to fix out of memory exceptions when 
rrocessing many files
---
 .../src/main/java/org/apache/royale/formatter/ASTokenFormatter.java    | 3 +++
 formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java     | 1 +
 2 files changed, 4 insertions(+)

diff --git 
a/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java 
b/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java
index 740a73437..77ab80c40 100644
--- a/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java
+++ b/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java
@@ -136,6 +136,9 @@ public class ASTokenFormatter extends BaseTokenFormatter {
                        parser = null;
                        problems.add(new UnexpectedExceptionProblem(e));
                        return text;
+               } finally {
+                       workspace.close();
+                       workspace = null;
                }
 
                if (tokenizer.hasTokenizationProblems()) {
diff --git a/formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java 
b/formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java
index 4c51c9e72..34c01953e 100644
--- a/formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java
+++ b/formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java
@@ -273,6 +273,7 @@ public class FORMATTER {
                                final ProblemFormatter formatter = new 
WorkspaceProblemFormatter(workspace, categorizer);
                                final ProblemPrinter printer = new 
ProblemPrinter(formatter);
                                printer.printProblems(filteredProblems);
+                               workspace.close();
                        }
                }
                return exitCode.getCode();

Reply via email to