From 5447b65d8815bd35ff68588dee199ac7d4875063 Mon Sep 17 00:00:00 2001 From: Sid Shankar Date: Tue, 10 Sep 2024 19:57:47 +0000 Subject: [PATCH] Accounts for string and literals in ns exports --- .../src/com/semmle/ts/extractor/TypeScriptASTConverter.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/javascript/extractor/src/com/semmle/ts/extractor/TypeScriptASTConverter.java b/javascript/extractor/src/com/semmle/ts/extractor/TypeScriptASTConverter.java index f3d498ef956..d42b0676246 100644 --- a/javascript/extractor/src/com/semmle/ts/extractor/TypeScriptASTConverter.java +++ b/javascript/extractor/src/com/semmle/ts/extractor/TypeScriptASTConverter.java @@ -1208,7 +1208,7 @@ public class TypeScriptASTConverter { boolean isNamespaceExportNode = hasKind(exportClauseNode, "NamespaceExport"); List specifiers = isNamespaceExportNode - ? Collections.singletonList(convertNodeAsIdentifier(exportClauseNode.getAsJsonObject())) + ? Collections.singletonList(convertChild(node, "exportClause")) : convertChildren(exportClauseNode.getAsJsonObject(), "elements"); return new ExportNamedDeclaration(loc, null, specifiers, source, attributes, hasTypeKeyword); } else { @@ -1229,7 +1229,9 @@ public class TypeScriptASTConverter { private Node convertNamespaceExport(JsonObject node, SourceLocation loc) throws ParseError { // Convert the "* as ns" from an export declaration. - return new ExportNamespaceSpecifier(loc, convertChild(node, "name")); + JsonObject exportedNamespaceToken = node.get("name").getAsJsonObject(); + Identifier exportedNamespaceIdentifier = convertNodeAsIdentifier(exportedNamespaceToken); + return new ExportNamespaceSpecifier(loc, exportedNamespaceIdentifier); } private Node convertExpressionStatement(JsonObject node, SourceLocation loc) throws ParseError {