diff --git a/javascript/extractor/src/com/semmle/js/extractor/ScopeManager.java b/javascript/extractor/src/com/semmle/js/extractor/ScopeManager.java index e7306e77e01..43e70160fe8 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/ScopeManager.java +++ b/javascript/extractor/src/com/semmle/js/extractor/ScopeManager.java @@ -426,7 +426,6 @@ public class ScopeManager { // cases where we turn on the 'declKind' flags @Override public Void visit(FunctionDeclaration nd, Void v) { - if (nd.hasDeclareKeyword() && !isInTypeScriptDeclarationFile()) return null; // strict mode functions are block-scoped, non-strict mode ones aren't if (blockscope == isStrict) visit(nd.getId(), DeclKind.var); return null; @@ -434,7 +433,6 @@ public class ScopeManager { @Override public Void visit(ClassDeclaration nd, Void c) { - if (nd.hasDeclareKeyword() && !isInTypeScriptDeclarationFile()) return null; if (blockscope) visit(nd.getClassDef().getId(), DeclKind.varAndType); return null; } @@ -483,7 +481,6 @@ public class ScopeManager { @Override public Void visit(VariableDeclaration nd, Void v) { - if (nd.hasDeclareKeyword() && !isInTypeScriptDeclarationFile()) return null; // in block scoping mode, only process 'let'; in non-block scoping // mode, only process non-'let' if (blockscope == nd.isBlockScoped(ecmaVersion)) visit(nd.getDeclarations()); @@ -518,8 +515,7 @@ public class ScopeManager { @Override public Void visit(NamespaceDeclaration nd, Void c) { if (blockscope) return null; - boolean isAmbientOutsideDtsFile = nd.hasDeclareKeyword() && !isInTypeScriptDeclarationFile(); - boolean hasVariable = nd.isInstantiated() && !isAmbientOutsideDtsFile; + boolean hasVariable = nd.isInstantiated(); visit(nd.getName(), hasVariable ? DeclKind.varAndNamespace : DeclKind.namespace); return null; }