Commit Graph

978 Commits

Author SHA1 Message Date
Anders Schack-Mulligen
220f4b373c QL: Fix bad magic. 2021-10-14 13:07:53 +02:00
Anders Schack-Mulligen
2c01b54a49 QL: Fix compile error. 2021-10-14 13:07:53 +02:00
Anders Schack-Mulligen
862706f709 QL: Adjust expected output. 2021-10-14 13:07:53 +02:00
Anders Schack-Mulligen
744c3447c9 QL: Fix semantic merge conflict. 2021-10-14 13:06:41 +02:00
Anders Schack-Mulligen
946968b37c QL: Move some AstNodes to Ast.qll, fix compilation error. 2021-10-14 13:06:41 +02:00
Anders Schack-Mulligen
69cf373f21 QL: Refactor 2021-10-14 13:06:41 +02:00
Erik Krogh Kristensen
5fc1b8bb29 QL: lowercase query id 2021-10-14 12:59:27 +02:00
Erik Krogh Kristensen
e167554ad9 QL: add query to detect uses of getAQlClass 2021-10-14 12:59:27 +02:00
Mathias Vorreiter Pedersen
7bcc906d67 QL: QL: Accept test changes. 2021-10-14 11:28:40 +01:00
Mathias Vorreiter Pedersen
d4b9c36343 QL: Merge branch 'main' into missing-noinline 2021-10-14 11:08:05 +01:00
Mathias Vorreiter Pedersen
8e1494b91a QL: Merge pull request #97 from github/fix-spurious-exists-mistakes
QL: Respond to PR reviews for #87
2021-10-14 11:03:36 +01:00
Mathias Vorreiter Pedersen
f4d35f6afe QL: QL: Add a query that finds missing noinline or nomagic annotations. 2021-10-14 11:00:26 +01:00
Mathias Vorreiter Pedersen
c9bfd85c0d QL: QL: Model QL annotations. 2021-10-14 10:59:25 +01:00
Joe Farebrother
ed87d77bc5 QL: Merge pull request #70 from github/dont-mention-this
Query to find member predicates that don't depend on `this`
2021-10-14 10:49:49 +01:00
Mathias Vorreiter Pedersen
4406065807 QL: QL: Respond to PR reviews. 2021-10-14 10:48:54 +01:00
Taus
b5bef24ce2 QL: Add test for override
This test demonstrates that our handling of `override` is incorrect.

Quick-eval'ing the `test` predicate produces the following output:

| f |  i  |  j  |
+---+-----+-----+
| 1 |  10 |  10 |
| 1 |  10 | 100 |
| 1 | 100 |  10 |
| 1 | 100 | 100 |
| 2 |  20 |  20 |
| 3 |   3 |   3 |

this demonstrates that `f.bar` and `f.baz` can resolve to all predicates
of that name in the file.

However, at present we only capture the calls to members on `Foo`.
2021-10-14 09:14:59 +00:00
Mathias Vorreiter Pedersen
1762b4fb91 QL: Merge branch 'main' into mathiasvp/superfluous-exists 2021-10-14 09:49:40 +01:00
Mathias Vorreiter Pedersen
18c427cddc QL: Merge pull request #77 from github/erik-krogh/qlpacks
add pretty AST for YAML and a QLPack utility class
2021-10-14 08:42:52 +01:00
Esben Sparre Andreasen
b0cbb31895 QL: restrict the queries that are run by default 2021-10-14 08:12:04 +02:00
Mathias Vorreiter Pedersen
c21df48bcd QL: QL: Complete the GVN library. 2021-10-13 22:48:45 +01:00
Erik Krogh Kristensen
4958b8ba0d QL: autoformat 2021-10-13 20:26:40 +02:00
Mathias Vorreiter Pedersen
ce3a531daf QL: Merge pull request #73 from github/tausbn/add-implicit-this-query
Add "implicit `this`" query
2021-10-13 17:36:02 +01:00
Mathias Vorreiter Pedersen
a917f240cf QL: QL: Add a query that finds unnecessary 'exists'. 2021-10-13 17:31:29 +01:00
Mathias Vorreiter Pedersen
690b7ef617 QL: QL: Add a basic GVN library. 2021-10-13 17:26:26 +01:00
Mathias Vorreiter Pedersen
4795cbb849 QL: QL: Add some convenience predicates in 'Ast.qll' and move a couple of the predicates from subclasses of 'BinOpExpr' into 'BinOpExpr'. 2021-10-13 17:26:00 +01:00
Mathias Vorreiter Pedersen
d7f08703af QL: QL: Add some more model classes that represent builtin QL classes. 2021-10-13 17:24:27 +01:00
Erik Krogh Kristensen
b31f705ffc QL: resolve calls to db relations 2021-10-13 17:03:24 +02:00
Erik Krogh Kristensen
bc74af7307 QL: resolve imports across qlpacks 2021-10-13 16:20:07 +02:00
Taus
cc43230244 QL: Fix "missing override" FPs
This brings the analysis back to the level it was at before the addition
of `instanceof`.
2021-10-13 14:07:24 +00:00
Geoffrey White
7c02b6a3b2 QL: Add tests. 2021-10-13 15:00:54 +01:00
Geoffrey White
161461eb6f QL: Support hasName(x) pattern as well. 2021-10-13 15:00:54 +01:00
Geoffrey White
d933bf6f24 QL: Add ql/use-set-literal query. 2021-10-13 15:00:54 +01:00
Anders Schack-Mulligen
4b73c99c56 QL: Merge pull request #75 from github/aschackmull/isclosure
Expose transitive closure syntax.
2021-10-13 15:45:20 +02:00
Mathias Vorreiter Pedersen
366fc23938 QL: Merge pull request #79 from github/esbena/fix-1
fix getAPrimaryQlClass: SuperAccess -> Super
2021-10-13 14:44:25 +01:00
Esben Sparre Andreasen
64a3ffdca7 QL: fix getAPrimaryQlClass: SuperAccess -> Super 2021-10-13 15:38:16 +02:00
Erik Krogh Kristensen
236989f6fd QL: add pretty AST for YAML and a QLPack utility class 2021-10-13 15:35:14 +02:00
Mathias Vorreiter Pedersen
d2222ee9f2 QL: Merge pull request #62 from github/if-with-none
QL: Add query that finds 'if p() then q() else none()'
2021-10-13 14:29:15 +01:00
Esben Sparre Andreasen
d41331b28b QL: Merge pull request #64 from github/esbena/codeql-action-support
CodeQL-action to work with QL-for-QL
2021-10-13 15:24:13 +02:00
Esben Sparre Andreasen
5e1f565b6a QL: add workflow with codeql-action 2021-10-13 15:21:08 +02:00
Taus
d0cb1384a9 QL: Extend the tests slightly
Adds a test for when the call is to an outer, non-member predicate.
2021-10-13 13:03:30 +00:00
Anders Schack-Mulligen
7d68020c7b QL: Expose transitive closure syntax. 2021-10-13 12:48:38 +00:00
Taus
a0e2bd57a7 QL: Add tests for "implicit this" 2021-10-13 12:27:20 +00:00
Taus
fb5513c1c8 QL: Add "implicit this" query 2021-10-13 12:08:19 +00:00
Mathias Vorreiter Pedersen
d1721d0bcd QL: Merge pull request #69 from github/erik-krogh/perf
fix two bad join orders
2021-10-13 12:53:12 +01:00
Erik Krogh Kristensen
15679dfec6 QL: autoformat 2021-10-13 13:34:47 +02:00
Erik Krogh Kristensen
09862b9fe7 QL: cache getClassPredicate 2021-10-13 13:26:37 +02:00
Taus
30040680ec QL: "Parse" YAML without errors 2021-10-13 11:24:26 +00:00
Joe Farebrother
c3493d6fde QL: Add check for predicates with an override annotation 2021-10-13 12:22:46 +01:00
Erik Krogh Kristensen
932f00b43e QL: fix two bad join orders 2021-10-13 13:20:41 +02:00
Joe Farebrother
d474a76cf0 QL: "doesn't mention this" query 2021-10-13 12:09:04 +01:00