From 37eea27f4a7121091244dccfb9fb1280e35a6230 Mon Sep 17 00:00:00 2001 From: Julian Dolby Date: Fri, 22 Jun 2018 19:49:49 -0400 Subject: [PATCH] more support for out-of-order lexical declarations --- .../cast/ir/translator/AstTranslator.java | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java index ca09714c7..9604c7326 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java @@ -207,6 +207,13 @@ public abstract class AstTranslator extends CAstVisitor visitor) { declareFunction(n, codeContext); - initFunctionEntity(codeContext); + initFunctionEntity(n, codeContext); return false; } @@ -3331,7 +3338,15 @@ public abstract class AstTranslator extends CAstVisitor names = entity2ExposedNames.get(n); + if (names != null) { + names.forEach((String nm) -> { + functionContext.currentScope().declare(new CAstSymbolImpl(nm, CAstType.DYNAMIC)); + }); + } + } // entry block functionContext.cfg().makeEntryBlock(functionContext.cfg().newBlock(false)); // first real block @@ -4909,6 +4924,9 @@ public abstract class AstTranslator extends CAstVisitor