From a3f4d1bf669f51dc4452113b060ba70df7a2c004 Mon Sep 17 00:00:00 2001 From: Andrew Eisenberg Date: Tue, 28 Jun 2022 14:36:07 -0700 Subject: [PATCH 1/3] Move contextual queries from src to lib With this change, users are now able to run View AST command in vscode within vscode workspaces that do not include the core libraries. The relevant core library only needs to be installed in the package cache. --- config/identical-files.json | 10 +++++----- cpp/ql/{src => lib}/IDEContextual.qll | 0 cpp/ql/{src => lib}/definitions.qll | 0 cpp/ql/{src => lib}/localDefinitions.ql | 0 cpp/ql/{src => lib}/localReferences.ql | 0 cpp/ql/{src => lib}/printAst.ql | 0 csharp/ql/{src => lib}/IDEContextual.qll | 0 csharp/ql/{src => lib}/definitions.qll | 0 csharp/ql/{src => lib}/localDefinitions.ql | 0 csharp/ql/{src => lib}/localReferences.ql | 0 csharp/ql/{src => lib}/printAst.ql | 0 java/ql/{src => lib}/IDEContextual.qll | 0 java/ql/{src => lib}/definitions.qll | 0 java/ql/{src => lib}/localDefinitions.ql | 0 java/ql/{src => lib}/localReferences.ql | 0 java/ql/{src => lib}/printAst.ql | 0 .../ql/{src => lib}/Declarations/Declarations.qll | 0 javascript/ql/{src => lib}/IDEContextual.qll | 0 javascript/ql/{src => lib}/definitions.ql | 0 javascript/ql/{src => lib}/definitions.qll | 0 javascript/ql/{src => lib}/localDefinitions.ql | 0 javascript/ql/{src => lib}/localReferences.ql | 0 javascript/ql/{src => lib}/printAst.ql | 0 python/ql/{src => lib}/analysis/DefinitionTracking.qll | 0 python/ql/{src => lib}/analysis/IDEContextual.qll | 0 python/ql/{src => lib}/printAst.ql | 0 .../ide-contextual-queries/localDefinitions.ql | 0 .../ide-contextual-queries/localReferences.ql | 0 .../ql/{src => lib}/ide-contextual-queries/printAst.ql | 0 29 files changed, 5 insertions(+), 5 deletions(-) rename cpp/ql/{src => lib}/IDEContextual.qll (100%) rename cpp/ql/{src => lib}/definitions.qll (100%) rename cpp/ql/{src => lib}/localDefinitions.ql (100%) rename cpp/ql/{src => lib}/localReferences.ql (100%) rename cpp/ql/{src => lib}/printAst.ql (100%) rename csharp/ql/{src => lib}/IDEContextual.qll (100%) rename csharp/ql/{src => lib}/definitions.qll (100%) rename csharp/ql/{src => lib}/localDefinitions.ql (100%) rename csharp/ql/{src => lib}/localReferences.ql (100%) rename csharp/ql/{src => lib}/printAst.ql (100%) rename java/ql/{src => lib}/IDEContextual.qll (100%) rename java/ql/{src => lib}/definitions.qll (100%) rename java/ql/{src => lib}/localDefinitions.ql (100%) rename java/ql/{src => lib}/localReferences.ql (100%) rename java/ql/{src => lib}/printAst.ql (100%) rename javascript/ql/{src => lib}/Declarations/Declarations.qll (100%) rename javascript/ql/{src => lib}/IDEContextual.qll (100%) rename javascript/ql/{src => lib}/definitions.ql (100%) rename javascript/ql/{src => lib}/definitions.qll (100%) rename javascript/ql/{src => lib}/localDefinitions.ql (100%) rename javascript/ql/{src => lib}/localReferences.ql (100%) rename javascript/ql/{src => lib}/printAst.ql (100%) rename python/ql/{src => lib}/analysis/DefinitionTracking.qll (100%) rename python/ql/{src => lib}/analysis/IDEContextual.qll (100%) rename python/ql/{src => lib}/printAst.ql (100%) rename ruby/ql/{src => lib}/ide-contextual-queries/localDefinitions.ql (100%) rename ruby/ql/{src => lib}/ide-contextual-queries/localReferences.ql (100%) rename ruby/ql/{src => lib}/ide-contextual-queries/printAst.ql (100%) diff --git a/config/identical-files.json b/config/identical-files.json index 77e39399cecc..990ba49f0334 100644 --- a/config/identical-files.json +++ b/config/identical-files.json @@ -453,11 +453,11 @@ "python/ql/src/Lexical/CommentedOutCodeReferences.inc.qhelp" ], "IDE Contextual Queries": [ - "cpp/ql/src/IDEContextual.qll", - "csharp/ql/src/IDEContextual.qll", - "java/ql/src/IDEContextual.qll", - "javascript/ql/src/IDEContextual.qll", - "python/ql/src/analysis/IDEContextual.qll" + "cpp/ql/lib/IDEContextual.qll", + "csharp/ql/lib/IDEContextual.qll", + "java/ql/lib/IDEContextual.qll", + "javascript/ql/lib/IDEContextual.qll", + "python/ql/lib/analysis/IDEContextual.qll" ], "SSA C#": [ "csharp/ql/lib/semmle/code/csharp/dataflow/internal/SsaImplCommon.qll", diff --git a/cpp/ql/src/IDEContextual.qll b/cpp/ql/lib/IDEContextual.qll similarity index 100% rename from cpp/ql/src/IDEContextual.qll rename to cpp/ql/lib/IDEContextual.qll diff --git a/cpp/ql/src/definitions.qll b/cpp/ql/lib/definitions.qll similarity index 100% rename from cpp/ql/src/definitions.qll rename to cpp/ql/lib/definitions.qll diff --git a/cpp/ql/src/localDefinitions.ql b/cpp/ql/lib/localDefinitions.ql similarity index 100% rename from cpp/ql/src/localDefinitions.ql rename to cpp/ql/lib/localDefinitions.ql diff --git a/cpp/ql/src/localReferences.ql b/cpp/ql/lib/localReferences.ql similarity index 100% rename from cpp/ql/src/localReferences.ql rename to cpp/ql/lib/localReferences.ql diff --git a/cpp/ql/src/printAst.ql b/cpp/ql/lib/printAst.ql similarity index 100% rename from cpp/ql/src/printAst.ql rename to cpp/ql/lib/printAst.ql diff --git a/csharp/ql/src/IDEContextual.qll b/csharp/ql/lib/IDEContextual.qll similarity index 100% rename from csharp/ql/src/IDEContextual.qll rename to csharp/ql/lib/IDEContextual.qll diff --git a/csharp/ql/src/definitions.qll b/csharp/ql/lib/definitions.qll similarity index 100% rename from csharp/ql/src/definitions.qll rename to csharp/ql/lib/definitions.qll diff --git a/csharp/ql/src/localDefinitions.ql b/csharp/ql/lib/localDefinitions.ql similarity index 100% rename from csharp/ql/src/localDefinitions.ql rename to csharp/ql/lib/localDefinitions.ql diff --git a/csharp/ql/src/localReferences.ql b/csharp/ql/lib/localReferences.ql similarity index 100% rename from csharp/ql/src/localReferences.ql rename to csharp/ql/lib/localReferences.ql diff --git a/csharp/ql/src/printAst.ql b/csharp/ql/lib/printAst.ql similarity index 100% rename from csharp/ql/src/printAst.ql rename to csharp/ql/lib/printAst.ql diff --git a/java/ql/src/IDEContextual.qll b/java/ql/lib/IDEContextual.qll similarity index 100% rename from java/ql/src/IDEContextual.qll rename to java/ql/lib/IDEContextual.qll diff --git a/java/ql/src/definitions.qll b/java/ql/lib/definitions.qll similarity index 100% rename from java/ql/src/definitions.qll rename to java/ql/lib/definitions.qll diff --git a/java/ql/src/localDefinitions.ql b/java/ql/lib/localDefinitions.ql similarity index 100% rename from java/ql/src/localDefinitions.ql rename to java/ql/lib/localDefinitions.ql diff --git a/java/ql/src/localReferences.ql b/java/ql/lib/localReferences.ql similarity index 100% rename from java/ql/src/localReferences.ql rename to java/ql/lib/localReferences.ql diff --git a/java/ql/src/printAst.ql b/java/ql/lib/printAst.ql similarity index 100% rename from java/ql/src/printAst.ql rename to java/ql/lib/printAst.ql diff --git a/javascript/ql/src/Declarations/Declarations.qll b/javascript/ql/lib/Declarations/Declarations.qll similarity index 100% rename from javascript/ql/src/Declarations/Declarations.qll rename to javascript/ql/lib/Declarations/Declarations.qll diff --git a/javascript/ql/src/IDEContextual.qll b/javascript/ql/lib/IDEContextual.qll similarity index 100% rename from javascript/ql/src/IDEContextual.qll rename to javascript/ql/lib/IDEContextual.qll diff --git a/javascript/ql/src/definitions.ql b/javascript/ql/lib/definitions.ql similarity index 100% rename from javascript/ql/src/definitions.ql rename to javascript/ql/lib/definitions.ql diff --git a/javascript/ql/src/definitions.qll b/javascript/ql/lib/definitions.qll similarity index 100% rename from javascript/ql/src/definitions.qll rename to javascript/ql/lib/definitions.qll diff --git a/javascript/ql/src/localDefinitions.ql b/javascript/ql/lib/localDefinitions.ql similarity index 100% rename from javascript/ql/src/localDefinitions.ql rename to javascript/ql/lib/localDefinitions.ql diff --git a/javascript/ql/src/localReferences.ql b/javascript/ql/lib/localReferences.ql similarity index 100% rename from javascript/ql/src/localReferences.ql rename to javascript/ql/lib/localReferences.ql diff --git a/javascript/ql/src/printAst.ql b/javascript/ql/lib/printAst.ql similarity index 100% rename from javascript/ql/src/printAst.ql rename to javascript/ql/lib/printAst.ql diff --git a/python/ql/src/analysis/DefinitionTracking.qll b/python/ql/lib/analysis/DefinitionTracking.qll similarity index 100% rename from python/ql/src/analysis/DefinitionTracking.qll rename to python/ql/lib/analysis/DefinitionTracking.qll diff --git a/python/ql/src/analysis/IDEContextual.qll b/python/ql/lib/analysis/IDEContextual.qll similarity index 100% rename from python/ql/src/analysis/IDEContextual.qll rename to python/ql/lib/analysis/IDEContextual.qll diff --git a/python/ql/src/printAst.ql b/python/ql/lib/printAst.ql similarity index 100% rename from python/ql/src/printAst.ql rename to python/ql/lib/printAst.ql diff --git a/ruby/ql/src/ide-contextual-queries/localDefinitions.ql b/ruby/ql/lib/ide-contextual-queries/localDefinitions.ql similarity index 100% rename from ruby/ql/src/ide-contextual-queries/localDefinitions.ql rename to ruby/ql/lib/ide-contextual-queries/localDefinitions.ql diff --git a/ruby/ql/src/ide-contextual-queries/localReferences.ql b/ruby/ql/lib/ide-contextual-queries/localReferences.ql similarity index 100% rename from ruby/ql/src/ide-contextual-queries/localReferences.ql rename to ruby/ql/lib/ide-contextual-queries/localReferences.ql diff --git a/ruby/ql/src/ide-contextual-queries/printAst.ql b/ruby/ql/lib/ide-contextual-queries/printAst.ql similarity index 100% rename from ruby/ql/src/ide-contextual-queries/printAst.ql rename to ruby/ql/lib/ide-contextual-queries/printAst.ql From ddf06f861776450f491712cfa0e36df1396472ab Mon Sep 17 00:00:00 2001 From: Andrew Eisenberg Date: Wed, 29 Jun 2022 10:03:12 -0700 Subject: [PATCH 2/3] Add change notes and qldoc for moved files --- cpp/ql/src/change-notes/2022-06-29-move-contextual-queries.md | 4 ++++ .../ql/src/change-notes/2022-06-29-move-contextual-queries.md | 4 ++++ .../ql/src/change-notes/2022-06-29-move-contextual-queries.md | 4 ++++ .../ql/src/change-notes/2022-06-29-move-contextual-queries.md | 4 ++++ python/ql/lib/analysis/DefinitionTracking.qll | 3 +++ .../ql/src/change-notes/2022-06-29-move-contextual-queries.md | 4 ++++ .../ql/src/change-notes/2022-06-29-move-contextual-queries.md | 4 ++++ 7 files changed, 27 insertions(+) create mode 100644 cpp/ql/src/change-notes/2022-06-29-move-contextual-queries.md create mode 100644 csharp/ql/src/change-notes/2022-06-29-move-contextual-queries.md create mode 100644 java/ql/src/change-notes/2022-06-29-move-contextual-queries.md create mode 100644 javascript/ql/src/change-notes/2022-06-29-move-contextual-queries.md create mode 100644 python/ql/src/change-notes/2022-06-29-move-contextual-queries.md create mode 100644 ruby/ql/src/change-notes/2022-06-29-move-contextual-queries.md diff --git a/cpp/ql/src/change-notes/2022-06-29-move-contextual-queries.md b/cpp/ql/src/change-notes/2022-06-29-move-contextual-queries.md new file mode 100644 index 000000000000..cc5464d58b33 --- /dev/null +++ b/cpp/ql/src/change-notes/2022-06-29-move-contextual-queries.md @@ -0,0 +1,4 @@ +--- +category: breaking +--- +* Contextual queries and the query libraries they depend on have been moved to the `codeql/cpp-all` package. diff --git a/csharp/ql/src/change-notes/2022-06-29-move-contextual-queries.md b/csharp/ql/src/change-notes/2022-06-29-move-contextual-queries.md new file mode 100644 index 000000000000..a27c68766c04 --- /dev/null +++ b/csharp/ql/src/change-notes/2022-06-29-move-contextual-queries.md @@ -0,0 +1,4 @@ +--- +category: breaking +--- +* Contextual queries and the query libraries they depend on have been moved to the `codeql/csharp-all` package. diff --git a/java/ql/src/change-notes/2022-06-29-move-contextual-queries.md b/java/ql/src/change-notes/2022-06-29-move-contextual-queries.md new file mode 100644 index 000000000000..02ff5b6d59c7 --- /dev/null +++ b/java/ql/src/change-notes/2022-06-29-move-contextual-queries.md @@ -0,0 +1,4 @@ +--- +category: breaking +--- +* Contextual queries and the query libraries they depend on have been moved to the `codeql/java-all` package. diff --git a/javascript/ql/src/change-notes/2022-06-29-move-contextual-queries.md b/javascript/ql/src/change-notes/2022-06-29-move-contextual-queries.md new file mode 100644 index 000000000000..ff190788cd48 --- /dev/null +++ b/javascript/ql/src/change-notes/2022-06-29-move-contextual-queries.md @@ -0,0 +1,4 @@ +--- +category: breaking +--- +* Contextual queries and the query libraries they depend on have been moved to the `codeql/javascript-all` package. diff --git a/python/ql/lib/analysis/DefinitionTracking.qll b/python/ql/lib/analysis/DefinitionTracking.qll index 90166b849918..dafbffad64e7 100644 --- a/python/ql/lib/analysis/DefinitionTracking.qll +++ b/python/ql/lib/analysis/DefinitionTracking.qll @@ -14,10 +14,13 @@ class Definition extends TLocalDefinition { /** Gets a textual representation of this element. */ string toString() { result = "Definition " + this.getAstNode().getLocation().toString() } + /** Gets the AST Node associated with this element */ AstNode getAstNode() { this = TLocalDefinition(result) } + /** Gets the Module associated with this element */ Module getModule() { result = this.getAstNode().getScope().getEnclosingModule() } + /** Gets the source location of the AST Node associated with this element */ Location getLocation() { result = this.getAstNode().getLocation() } } diff --git a/python/ql/src/change-notes/2022-06-29-move-contextual-queries.md b/python/ql/src/change-notes/2022-06-29-move-contextual-queries.md new file mode 100644 index 000000000000..2e8562e66f8a --- /dev/null +++ b/python/ql/src/change-notes/2022-06-29-move-contextual-queries.md @@ -0,0 +1,4 @@ +--- +category: breaking +--- +* Contextual queries and the query libraries they depend on have been moved to the `codeql/python-all` package. diff --git a/ruby/ql/src/change-notes/2022-06-29-move-contextual-queries.md b/ruby/ql/src/change-notes/2022-06-29-move-contextual-queries.md new file mode 100644 index 000000000000..bc85eb9361eb --- /dev/null +++ b/ruby/ql/src/change-notes/2022-06-29-move-contextual-queries.md @@ -0,0 +1,4 @@ +--- +category: breaking +--- +* Contextual queries and the query libraries they depend on have been moved to the `codeql/ruby-all` package. From 7864a7580e8d3b8eefe72a083a2283cd63465e5c Mon Sep 17 00:00:00 2001 From: Andrew Eisenberg Date: Wed, 29 Jun 2022 10:22:45 -0700 Subject: [PATCH 3/3] Fix import statements --- javascript/ql/src/Declarations/DeclBeforeUse.ql | 2 +- javascript/ql/src/Declarations/RedeclaredVariable.ql | 2 +- python/ql/src/analysis/Consistency.ql | 2 +- python/ql/src/analysis/Definitions.ql | 2 +- python/ql/src/analysis/LocalDefinitions.ql | 2 +- python/ql/src/analysis/LocalReferences.ql | 2 +- python/ql/src/analysis/RatioOfDefinitions.ql | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/javascript/ql/src/Declarations/DeclBeforeUse.ql b/javascript/ql/src/Declarations/DeclBeforeUse.ql index 49a7a3f01c83..b58fab9e465f 100644 --- a/javascript/ql/src/Declarations/DeclBeforeUse.ql +++ b/javascript/ql/src/Declarations/DeclBeforeUse.ql @@ -10,7 +10,7 @@ */ import javascript -private import Declarations +private import Declarations.Declarations from VarAccess acc, VarDecl decl, Variable var, StmtContainer sc where diff --git a/javascript/ql/src/Declarations/RedeclaredVariable.ql b/javascript/ql/src/Declarations/RedeclaredVariable.ql index cdce959e66de..7f07378cef78 100644 --- a/javascript/ql/src/Declarations/RedeclaredVariable.ql +++ b/javascript/ql/src/Declarations/RedeclaredVariable.ql @@ -10,7 +10,7 @@ */ import javascript -private import Declarations +private import Declarations.Declarations from Variable v, TopLevel tl, VarDecl decl, VarDecl redecl where diff --git a/python/ql/src/analysis/Consistency.ql b/python/ql/src/analysis/Consistency.ql index d6f1bbc32c5b..9f739d18415d 100644 --- a/python/ql/src/analysis/Consistency.ql +++ b/python/ql/src/analysis/Consistency.ql @@ -5,7 +5,7 @@ */ import python -import DefinitionTracking +import analysis.DefinitionTracking predicate uniqueness_error(int number, string what, string problem) { what in [ diff --git a/python/ql/src/analysis/Definitions.ql b/python/ql/src/analysis/Definitions.ql index a2ed4f36bf68..bf2458dd8aba 100644 --- a/python/ql/src/analysis/Definitions.ql +++ b/python/ql/src/analysis/Definitions.ql @@ -6,7 +6,7 @@ */ import python -import DefinitionTracking +import analysis.DefinitionTracking from NiceLocationExpr use, Definition defn, string kind where defn = definitionOf(use, kind) diff --git a/python/ql/src/analysis/LocalDefinitions.ql b/python/ql/src/analysis/LocalDefinitions.ql index fae19995f572..d86e3e9254bb 100644 --- a/python/ql/src/analysis/LocalDefinitions.ql +++ b/python/ql/src/analysis/LocalDefinitions.ql @@ -8,7 +8,7 @@ */ import python -import DefinitionTracking +import analysis.DefinitionTracking external string selectedSourceFile(); diff --git a/python/ql/src/analysis/LocalReferences.ql b/python/ql/src/analysis/LocalReferences.ql index cf254e9fc3dc..6eea0846e856 100644 --- a/python/ql/src/analysis/LocalReferences.ql +++ b/python/ql/src/analysis/LocalReferences.ql @@ -8,7 +8,7 @@ */ import python -import DefinitionTracking +import analysis.DefinitionTracking external string selectedSourceFile(); diff --git a/python/ql/src/analysis/RatioOfDefinitions.ql b/python/ql/src/analysis/RatioOfDefinitions.ql index f7ef4741ee6c..562deb750051 100644 --- a/python/ql/src/analysis/RatioOfDefinitions.ql +++ b/python/ql/src/analysis/RatioOfDefinitions.ql @@ -3,7 +3,7 @@ */ import python -import DefinitionTracking +import analysis.DefinitionTracking predicate want_to_have_definition(Expr e) { /* not builtin object like len, tuple, etc. */