From 4e7e1f4d3c81a0acff294404c39b065efbc54da4 Mon Sep 17 00:00:00 2001 From: prakanth <50439067+prakanth97@users.noreply.github.com> Date: Wed, 16 Aug 2023 16:04:27 +0530 Subject: [PATCH] Clean memory usage in ConstantValueResolver --- .../semantics/analyzer/ConstantValueResolver.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/ConstantValueResolver.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/ConstantValueResolver.java index f0c68289294c..0aae1430508f 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/ConstantValueResolver.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/ConstantValueResolver.java @@ -138,6 +138,14 @@ public void resolve(List constants, PackageID packageID, SymbolEn this.createdTypeDefinitions.clear(); } + private void reset() { + unresolvedConstants.clear(); + constantMap.clear(); + resolvingConstants.clear(); + unresolvableConstants.clear(); + createdTypeDefinitions.clear(); + } + @Override public void visit(BLangConstant constant) { if (!unresolvedConstants.containsKey(constant.symbol)) { @@ -579,6 +587,7 @@ BLangConstantValue constructBLangConstantValueWithExactType(BLangExpression expr this.anonTypeNameSuffixes = anonTypeNameSuffixes; updateConstantType(constantSymbol, expression, env); + reset(); return value; }