diff --git a/javascript/extractor/src/com/semmle/js/extractor/ASTExtractor.java b/javascript/extractor/src/com/semmle/js/extractor/ASTExtractor.java index 246ff58f873..557fe5cb567 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/ASTExtractor.java +++ b/javascript/extractor/src/com/semmle/js/extractor/ASTExtractor.java @@ -1375,7 +1375,7 @@ public class ASTExtractor { contextManager.leaveContainer(); scopeManager.leaveScope(); if (nd.isInstantiated()) { - trapwriter.addTuple("isInstantiated", lbl); + trapwriter.addTuple("is_instantiated", lbl); } return lbl; } diff --git a/javascript/extractor/tests/ts/output/trap/conditionalTypes.ts.trap b/javascript/extractor/tests/ts/output/trap/conditionalTypes.ts.trap index 6620048f6f7..db8707b882a 100644 --- a/javascript/extractor/tests/ts/output/trap/conditionalTypes.ts.trap +++ b/javascript/extractor/tests/ts/output/trap/conditionalTypes.ts.trap @@ -8415,7 +8415,7 @@ hasLocation(#22804,#21469) enclosingStmt(#22804,#22777) exprContainers(#22804,#22183) literals("any","any",#22804) -isInstantiated(#22183) +is_instantiated(#22183) #22805=* stmts(#22805,31,#20001,1,"namespa ... any;\n}") #22806=@"loc,{#10000},72,1,101,1" @@ -10069,7 +10069,7 @@ hasLocation(#23199,#22172) enclosingStmt(#23199,#23170) exprContainers(#23199,#22805) literals("any","any",#23199) -isInstantiated(#22805) +is_instantiated(#22805) #23200=* entry_cfg_node(#23200,#20001) #23201=@"loc,{#10000},1,1,1,0" diff --git a/javascript/extractor/tests/ts/output/trap/namespaces.ts.trap b/javascript/extractor/tests/ts/output/trap/namespaces.ts.trap index 03925e4738f..2f55d860971 100644 --- a/javascript/extractor/tests/ts/output/trap/namespaces.ts.trap +++ b/javascript/extractor/tests/ts/output/trap/namespaces.ts.trap @@ -275,8 +275,8 @@ hasLocation(#20091,#20039) enclosingStmt(#20091,#20086) exprContainers(#20091,#20079) literals("42","42",#20091) -isInstantiated(#20079) -isInstantiated(#20071) +is_instantiated(#20079) +is_instantiated(#20071) #20092=* stmts(#20092,32,#20001,1,"import x = M.N.x;") hasLocation(#20092,#20015) diff --git a/javascript/extractor/tests/ts/output/trap/uninstantiatedNamespace.ts.trap b/javascript/extractor/tests/ts/output/trap/uninstantiatedNamespace.ts.trap index 12f3bfad748..8b3c1e69ec9 100644 --- a/javascript/extractor/tests/ts/output/trap/uninstantiatedNamespace.ts.trap +++ b/javascript/extractor/tests/ts/output/trap/uninstantiatedNamespace.ts.trap @@ -835,7 +835,7 @@ scopenesting(#20276,#20215) stmts(#20277,0,#20273,0,";") hasLocation(#20277,#20155) stmt_containers(#20277,#20273) -isInstantiated(#20273) +is_instantiated(#20273) #20278=* stmts(#20278,31,#20212,6,"namespa ... ck {{}}") #20279=@"loc,{#10000},22,3,22,27" @@ -860,7 +860,7 @@ stmts(#20282,1,#20278,0,"{}") locations_default(#20283,#10000,22,25,22,26) hasLocation(#20282,#20283) stmt_containers(#20282,#20278) -isInstantiated(#20278) +is_instantiated(#20278) #20284=* stmts(#20284,18,#20212,7,"var x = ... yBlock]") #20285=@"loc,{#10000},24,3,24,82" @@ -948,7 +948,7 @@ exprContainers(#20302,#20212) literals("EmptyBlock","EmptyBlock",#20302) bind(#20302,#20217) arraySize(#20289,7) -isInstantiated(#20212) +is_instantiated(#20212) #20303=* entry_cfg_node(#20303,#20001) #20304=@"loc,{#10000},1,1,1,0" diff --git a/javascript/ql/src/semmle/javascript/Aliases.qll b/javascript/ql/src/semmle/javascript/Aliases.qll index 466316f7b8b..bbb74c0ca56 100644 --- a/javascript/ql/src/semmle/javascript/Aliases.qll +++ b/javascript/ql/src/semmle/javascript/Aliases.qll @@ -101,3 +101,8 @@ deprecated predicate stmtContainers(Stmt stmt, StmtContainer container) { stmt_c * Use `JumpStmt#getTarget()` instead. */ deprecated predicate jumpTargets(Stmt jump, Stmt target) { jump_targets(jump, target) } +/** + * Alias for the predicate `is_instantiated` defined in the .dbscheme. + * Use `NamespaceDeclaration#isInstantiated() instead.` + */ +deprecated predicate isInstantiated(NamespaceDeclaration decl) { is_instantiated(decl) } diff --git a/javascript/ql/src/semmle/javascript/TypeScript.qll b/javascript/ql/src/semmle/javascript/TypeScript.qll index 6e620ded255..f0b4c3c46ae 100644 --- a/javascript/ql/src/semmle/javascript/TypeScript.qll +++ b/javascript/ql/src/semmle/javascript/TypeScript.qll @@ -83,7 +83,7 @@ class NamespaceDeclaration extends NamespaceDefinition, StmtContainer, @namespac * A namespace that is empty or only contains interfaces and type aliases is not instantiated, * and thus has no namespace object at runtime and is not associated with a variable. */ - predicate isInstantiated() { isInstantiated(this) } + predicate isInstantiated() { is_instantiated(this) } override ControlFlowNode getFirstControlFlowNode() { if hasDeclareKeyword(this) then result = this else result = getIdentifier() diff --git a/javascript/ql/src/semmlecode.javascript.dbscheme b/javascript/ql/src/semmlecode.javascript.dbscheme index 9b752af7bc2..e4556bf60b8 100644 --- a/javascript/ql/src/semmlecode.javascript.dbscheme +++ b/javascript/ql/src/semmlecode.javascript.dbscheme @@ -198,7 +198,7 @@ case @stmt.kind of @namespacedefinition = @namespacedeclaration | @enumdeclaration; @typedefinition = @classdefinition | @interfacedeclaration | @enumdeclaration | @typealiasdeclaration | @enum_member; -isInstantiated(unique int decl: @namespacedeclaration ref); +is_instantiated(unique int decl: @namespacedeclaration ref); @declarablenode = @declstmt | @namespacedeclaration | @classdeclstmt | @functiondeclstmt | @enumdeclaration | @externalmoduledeclaration | @globalaugmentationdeclaration | @field; hasDeclareKeyword(unique int stmt: @declarablenode ref); diff --git a/javascript/ql/src/semmlecode.javascript.dbscheme.stats b/javascript/ql/src/semmlecode.javascript.dbscheme.stats index 783e97b8ea2..5980591bce9 100644 --- a/javascript/ql/src/semmlecode.javascript.dbscheme.stats +++ b/javascript/ql/src/semmlecode.javascript.dbscheme.stats @@ -7908,7 +7908,7 @@ -isInstantiated +is_instantiated 5 diff --git a/javascript/upgrades/c73fbfca57f3d593b9ff50c6aa3a886d6888efec/upgrade.properties b/javascript/upgrades/c73fbfca57f3d593b9ff50c6aa3a886d6888efec/upgrade.properties index c9a67d7ac88..ea0b335368a 100644 --- a/javascript/upgrades/c73fbfca57f3d593b9ff50c6aa3a886d6888efec/upgrade.properties +++ b/javascript/upgrades/c73fbfca57f3d593b9ff50c6aa3a886d6888efec/upgrade.properties @@ -14,3 +14,5 @@ stmt_containers.rel: reorder stmtContainers.rel(int stmt, int container) stmt co stmtContainers.rel: delete jump_targets.rel: reorder jumpTargets.rel(int jump, int target) jump target jumpTargets.rel: delete +is_instantiated.rel: reorder isInstantiated.rel(int decl) decl +isInstantiated.rel: delete