Commit Graph

202 Commits

Author SHA1 Message Date
Erik Krogh Kristensen
bb3e6399a4 Merge pull request #41 from github/tausbn/support-instanceof
Support `instanceof`
2021-10-13 09:14:02 +02:00
Taus
8c6d139d67 Fix up getASuperType
I'm not sure if it's correct to include also the `instanceof`s, but we
can always fix this later.
2021-10-12 19:28:13 +00:00
Taus
d436be7e96 Support instanceof
Stills needs to be hooked up correctly to the AST.
2021-10-12 17:40:29 +00:00
Erik Krogh Kristensen
7b61445f83 Merge pull request #40 from github/erik-krogh/fix-qltest
fix qlpack version string
2021-10-12 13:08:40 +02:00
Erik Krogh Kristensen
b0a237bcc1 fix qlpack version string 2021-10-12 11:01:18 +00:00
Taus
9b1836e366 Merge pull request #36 from github/various-small-fixes
Various small fixes
2021-09-23 13:42:19 +02:00
Erik Krogh Kristensen
ba40a99ef8 Merge pull request #38 from github/rankOne
add a query for finding rank[1]
2021-08-18 23:23:00 +02:00
Erik Krogh Kristensen
91b8c1c4a0 Update ql/src/queries/style/RankOne.ql
Co-authored-by: Taus <tausbn@github.com>
2021-08-18 11:25:36 +02:00
Erik Krogh Kristensen
feb1ab86f0 add a query for finding rank[1] 2021-08-18 09:19:05 +00:00
Taus
e79ded9046 Add exclusions to Module consistency test 2021-06-19 12:41:16 +00:00
Taus
6d1dc24fa7 Autoformat 2021-06-19 12:36:10 +00:00
Taus
6bff0f48a2 Remove SuperAccess::getType()
This had a bad effect on our call resolution, so I'm reverting it for
now. We may want to diverge from the language specification here.
2021-06-19 12:17:17 +00:00
Taus
b9238ea436 Update printAst test
to reflect the renaming of `Aggregate` to `FullAggregate`.
2021-06-19 12:16:42 +00:00
Taus
e3a4d3074c Exclude a few more paths from tests 2021-06-19 11:54:50 +00:00
Taus
815337dde1 Split up Aggregate properly
Previously, we had `Aggregate` and `ExprAggregate` as separate classes,
the latter of which representing aggregates that contain only an
expression.

This was a problem for the `rank` aggregate, as it inherited from
`Aggregate`, but _could_ also contain just an expression (even if this
is rather rare).

To fix this, I renamed `Aggregate` to `FullAggregate` (to make the
division clearer), and added a new type `Aggregate` that represents the
union of these two types. Now `Rank` can inherit from the new class
`Aggregate` and everything is dandy.
2021-06-19 11:50:50 +00:00
Taus
1e973f3681 Fix getType for aggregates
We were only including the `strict` variant of `count` and not any of
the other ones (spot the mistake!).

Also, `unique` was added as a recognised aggregate name.
2021-06-19 11:47:45 +00:00
Taus
0ff0aecb22 Add more getType overrides
Mainly adds ones for primitive types.

One peculiarity: the language specification states that the type of
`super` is the same as the type of `this`, and _not_ the type of
the superclass on which the method is actually accessed. This seems a
bit strange to me, so I thought I would highlight it specifically.

Also, I'm not entirely sure that the rules around type coercion for
the various binary operators are 100% correct.
2021-06-19 11:40:12 +00:00
Taus
bc2932383b Merge pull request #35 from github/downstream-latest-generator 2021-06-02 10:07:09 +02:00
Taus
35dccb5f3d Update to latest generator
Includes better QLDoc generation and better escaping in the generated
files (the latter has changed the dbscheme, so rebuilding databases will
be required).
2021-06-01 16:43:11 +00:00
Taus
c2ecad7ddb Merge pull request #34 from github/dbscheme-and-qlpack-support
Add support for dbscheme and qlpack.yml
2021-06-01 18:23:36 +02:00
Taus
9abe340a1f Fix getQLDoc compilation error 2021-05-31 08:55:27 +00:00
Taus
3cdc6a18ae Merge branch 'main' into dbscheme-and-qlpack-support 2021-05-31 10:50:39 +02:00
Taus
6b2c96615f Merge pull request #30 from github/qldoc-nodes
Add AST nodes for QLDoc
2021-05-31 10:45:15 +02:00
Taus
1cbcf40637 Simplify getAMember
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com>
2021-05-31 10:26:50 +02:00
Erik Krogh Kristensen
4bbd06f51f improve performance of module resolution 2021-05-31 08:06:49 +00:00
Erik Krogh Kristensen
b3e23bcc31 improve performance of type resolution 2021-05-31 07:51:11 +00:00
Erik Krogh Kristensen
a286dc349a improve scope resolution performance 2021-05-31 07:46:51 +00:00
Erik Krogh Kristensen
18b6216f78 more improvements to printAst performance 2021-05-31 07:33:11 +00:00
Erik Krogh Kristensen
7d4611941a fix printAst performance 2021-05-30 21:42:15 +00:00
Erik Krogh Kristensen
a349fdd367 spaces in folder/file names are underscores in import names 2021-05-30 21:36:01 +00:00
Erik Krogh Kristensen
6c5e33e3d2 use qlpack existence to determine the root for imports 2021-05-30 21:30:11 +00:00
Taus
4e8157e3cb Autoformat 2021-05-30 17:53:38 +00:00
Taus
eaf6d8123d Add support for dbscheme and qlpack.yml
Currently the the YAML "parser" fails for some legacy files, but the
actual files appear to be parsed correctly.
2021-05-30 17:38:26 +00:00
Erik Krogh Kristensen
5c80716724 Merge branch 'main' into qldoc-nodes 2021-05-30 15:51:29 +00:00
Erik Krogh Kristensen
33ed98e8b7 Merge pull request #32 from github/jumpToField
get jump to field to work
2021-05-29 22:09:44 +02:00
Erik Krogh Kristensen
c2c0a96f40 Merge pull request #33 from github/fixes
improve callgraph resolution, and other fixes
2021-05-29 22:09:32 +02:00
Erik Krogh Kristensen
48170f5ce0 change multipleResolveCall to ignore aliases 2021-05-29 19:30:40 +00:00
Erik Krogh Kristensen
bd86ffb35b fix the arity of predicate aliases 2021-05-29 19:23:58 +00:00
Erik Krogh Kristensen
8dc3948221 support more types on aggregates 2021-05-29 19:23:58 +00:00
Erik Krogh Kristensen
c8d0384907 add callgraph test 2021-05-29 19:23:58 +00:00
Erik Krogh Kristensen
068c57acdd add super calls to the callgraph 2021-05-29 19:23:58 +00:00
Erik Krogh Kristensen
2d86b13d44 add super nodes 2021-05-29 19:23:58 +00:00
Erik Krogh Kristensen
5dcc161f2d add getEnclosingPredicate utility predicate 2021-05-29 19:23:58 +00:00
Erik Krogh Kristensen
fb50ba407d add test for boolean literals in the ast 2021-05-29 19:23:58 +00:00
Erik Krogh Kristensen
8ad05b778d add support for boolean literals 2021-05-29 19:23:58 +00:00
Taus
4140ce0f10 Fix misparse of -j - 1 2021-05-29 14:17:21 +00:00
Taus
1345fa982a Merge pull request #31 from github/autogenerate-qldoc
Autogenerate QLDoc for `TreeSitter.qll`
2021-05-29 16:08:22 +02:00
Taus
18fc76fdb8 Autoformat 2021-05-29 08:09:35 +00:00
Taus
0b74535b4a Fix test output 2021-05-29 08:07:44 +00:00
Taus
5658abd716 Merge branch 'main' into qldoc-nodes 2021-05-29 00:03:09 +02:00