Skip to content

Commit a78ee53

Browse files
authored
Merge pull request #340 from github/mergeback
Merge rc/3.3 into main
2 parents 958fbc7 + 398ed4c commit a78ee53

37 files changed

+6101
-3240
lines changed

.github/workflows/build.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@ name: Build / Release
22

33
on:
44
push:
5-
branches: [main]
5+
branches:
6+
- main
7+
- 'rc/*'
68
pull_request:
7-
branches: [main]
9+
branches:
10+
- main
11+
- 'rc/*'
812
workflow_dispatch:
913
inputs:
1014
tag:

.github/workflows/dataset_measure.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,15 @@ name: Collect database stats
22

33
on:
44
push:
5-
branches: [main]
5+
branches:
6+
- main
7+
- 'rc/*'
68
paths:
79
- ql/lib/ruby.dbscheme
810
pull_request:
9-
branches: [main]
11+
branches:
12+
- main
13+
- 'rc/*'
1014
paths:
1115
- ql/lib/ruby.dbscheme
1216
workflow_dispatch:

.github/workflows/qhelp.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ name: Query help preview
22

33
on:
44
pull_request:
5-
branches: [main]
5+
branches:
6+
- main
7+
- 'rc/*'
68
paths:
79
- "**/*.qhelp"
810

.github/workflows/qltest.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@ name: Run QL Tests
22

33
on:
44
push:
5-
branches: [main]
5+
branches:
6+
- main
7+
- 'rc/*'
68
pull_request:
7-
branches: [main]
9+
branches:
10+
- main
11+
- 'rc/*'
812

913
env:
1014
CARGO_TERM_COLOR: always

.github/workflows/sync_files.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@ name: Check synchronized files
22

33
on:
44
push:
5-
branches: [main]
5+
branches:
6+
- main
7+
- 'rc/*'
68
pull_request:
7-
branches: [main]
9+
branches:
10+
- main
11+
- 'rc/*'
812

913
jobs:
1014
sync:

Cargo.lock

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

extractor/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ flate2 = "1.0"
1111
node-types = { path = "../node-types" }
1212
tree-sitter = "0.19"
1313
tree-sitter-embedded-template = "0.19"
14-
tree-sitter-ruby = "0.19"
14+
tree-sitter-ruby = { git = "https://github.com/tree-sitter/tree-sitter-ruby.git", rev = "bb6a42e42b048627a74a127d3e0184c1eef01de9" }
1515
clap = "2.33"
1616
tracing = "0.1"
1717
tracing-subscriber = { version = "0.2", features = ["env-filter"] }

generator/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ node-types = { path = "../node-types" }
1212
tracing = "0.1"
1313
tracing-subscriber = { version = "0.2", features = ["env-filter"] }
1414
tree-sitter-embedded-template = "0.19"
15-
tree-sitter-ruby = "0.19"
15+
tree-sitter-ruby = { git = "https://github.com/tree-sitter/tree-sitter-ruby.git", rev = "bb6a42e42b048627a74a127d3e0184c1eef01de9" }

ql/lib/codeql/ruby/ast/Call.qll

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,3 +197,19 @@ class BlockArgument extends Expr, TBlockArgument {
197197
pred = "getValue" and result = this.getValue()
198198
}
199199
}
200+
201+
/**
202+
* A `...` expression that contains forwarded arguments.
203+
* ```rb
204+
* foo(...)
205+
* ```
206+
*/
207+
class ForwardedArguments extends Expr, TForwardArgument {
208+
private Ruby::ForwardArgument g;
209+
210+
ForwardedArguments() { this = TForwardArgument(g) }
211+
212+
final override string getAPrimaryQlClass() { result = "ForwardedArguments" }
213+
214+
final override string toString() { result = "..." }
215+
}

ql/lib/codeql/ruby/ast/Parameter.qll

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,3 +233,16 @@ class SplatParameter extends NamedParameter, TSplatParameter {
233233

234234
final override string getName() { result = g.getName().getValue() }
235235
}
236+
237+
/**
238+
* A special `...` parameter that forwards positional/keyword/block arguments:
239+
* ```rb
240+
* def foo(...)
241+
* end
242+
* ```
243+
*/
244+
class ForwardParameter extends Parameter, TForwardParameter {
245+
final override string getAPrimaryQlClass() { result = "ForwardParameter" }
246+
247+
final override string toString() { result = "..." }
248+
}

0 commit comments

Comments
 (0)