Skip to content

Commit 02bf895

Browse files
committed
Update dbscheme type references
1 parent 2e10f8f commit 02bf895

4 files changed

Lines changed: 59 additions & 50 deletions

File tree

ql/src/codeql_ruby/ast/Literal.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -828,9 +828,9 @@ private class RangeLiteralReal extends RangeLiteral, TRangeLiteralReal {
828828

829829
final override Expr getEnd() { toGenerated(result) = g.getEnd() }
830830

831-
final override predicate isInclusive() { g instanceof @range_dotdot }
831+
final override predicate isInclusive() { g instanceof @ruby_range_dotdot }
832832

833-
final override predicate isExclusive() { g instanceof @range_dotdotdot }
833+
final override predicate isExclusive() { g instanceof @ruby_range_dotdotdot }
834834
}
835835

836836
private class RangeLiteralSynth extends RangeLiteral, TRangeLiteralSynth {

ql/src/codeql_ruby/ast/internal/AST.qll

Lines changed: 52 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ module MethodName {
1414
}
1515

1616
class Token =
17-
@setter or @token_class_variable or @token_constant or @token_global_variable or
18-
@token_identifier or @token_instance_variable or @token_operator;
17+
@ruby_setter or @ruby_token_class_variable or @ruby_token_constant or
18+
@ruby_token_global_variable or @ruby_token_identifier or @ruby_token_instance_variable or
19+
@ruby_token_operator;
1920
}
2021

2122
private predicate mkSynthChild(SynthKind kind, AST::AstNode parent, int i) {
@@ -26,7 +27,7 @@ cached
2627
private module Cached {
2728
cached
2829
newtype TAstNode =
29-
TAddExprReal(Generated::Binary g) { g instanceof @binary_plus } or
30+
TAddExprReal(Generated::Binary g) { g instanceof @ruby_binary_plus } or
3031
TAddExprSynth(AST::AstNode parent, int i) { mkSynthChild(AddExprKind(), parent, i) } or
3132
TAliasStmt(Generated::Alias g) or
3233
TArgumentList(Generated::AstNode g) {
@@ -43,58 +44,66 @@ private module Cached {
4344
g instanceof Generated::RightAssignmentList
4445
)
4546
} or
46-
TAssignAddExpr(Generated::OperatorAssignment g) { g instanceof @operator_assignment_plusequal } or
47+
TAssignAddExpr(Generated::OperatorAssignment g) {
48+
g instanceof @ruby_operator_assignment_plusequal
49+
} or
4750
TAssignBitwiseAndExpr(Generated::OperatorAssignment g) {
48-
g instanceof @operator_assignment_ampersandequal
51+
g instanceof @ruby_operator_assignment_ampersandequal
4952
} or
5053
TAssignBitwiseOrExpr(Generated::OperatorAssignment g) {
51-
g instanceof @operator_assignment_pipeequal
54+
g instanceof @ruby_operator_assignment_pipeequal
5255
} or
5356
TAssignBitwiseXorExpr(Generated::OperatorAssignment g) {
54-
g instanceof @operator_assignment_caretequal
57+
g instanceof @ruby_operator_assignment_caretequal
58+
} or
59+
TAssignDivExpr(Generated::OperatorAssignment g) {
60+
g instanceof @ruby_operator_assignment_slashequal
5561
} or
56-
TAssignDivExpr(Generated::OperatorAssignment g) { g instanceof @operator_assignment_slashequal } or
5762
TAssignExponentExpr(Generated::OperatorAssignment g) {
58-
g instanceof @operator_assignment_starstarequal
63+
g instanceof @ruby_operator_assignment_starstarequal
5964
} or
6065
TAssignExprReal(Generated::Assignment g) or
6166
TAssignExprSynth(AST::AstNode parent, int i) { mkSynthChild(AssignExprKind(), parent, i) } or
6267
TAssignLShiftExpr(Generated::OperatorAssignment g) {
63-
g instanceof @operator_assignment_langlelangleequal
68+
g instanceof @ruby_operator_assignment_langlelangleequal
6469
} or
6570
TAssignLogicalAndExpr(Generated::OperatorAssignment g) {
66-
g instanceof @operator_assignment_ampersandampersandequal
71+
g instanceof @ruby_operator_assignment_ampersandampersandequal
6772
} or
6873
TAssignLogicalOrExpr(Generated::OperatorAssignment g) {
69-
g instanceof @operator_assignment_pipepipeequal
74+
g instanceof @ruby_operator_assignment_pipepipeequal
7075
} or
7176
TAssignModuloExpr(Generated::OperatorAssignment g) {
72-
g instanceof @operator_assignment_percentequal
77+
g instanceof @ruby_operator_assignment_percentequal
78+
} or
79+
TAssignMulExpr(Generated::OperatorAssignment g) {
80+
g instanceof @ruby_operator_assignment_starequal
7381
} or
74-
TAssignMulExpr(Generated::OperatorAssignment g) { g instanceof @operator_assignment_starequal } or
7582
TAssignRShiftExpr(Generated::OperatorAssignment g) {
76-
g instanceof @operator_assignment_ranglerangleequal
83+
g instanceof @ruby_operator_assignment_ranglerangleequal
84+
} or
85+
TAssignSubExpr(Generated::OperatorAssignment g) {
86+
g instanceof @ruby_operator_assignment_minusequal
7787
} or
78-
TAssignSubExpr(Generated::OperatorAssignment g) { g instanceof @operator_assignment_minusequal } or
7988
TBareStringLiteral(Generated::BareString g) or
8089
TBareSymbolLiteral(Generated::BareSymbol g) or
8190
TBeginBlock(Generated::BeginBlock g) or
8291
TBeginExpr(Generated::Begin g) or
83-
TBitwiseAndExprReal(Generated::Binary g) { g instanceof @binary_ampersand } or
92+
TBitwiseAndExprReal(Generated::Binary g) { g instanceof @ruby_binary_ampersand } or
8493
TBitwiseAndExprSynth(AST::AstNode parent, int i) {
8594
mkSynthChild(BitwiseAndExprKind(), parent, i)
8695
} or
87-
TBitwiseOrExprReal(Generated::Binary g) { g instanceof @binary_pipe } or
96+
TBitwiseOrExprReal(Generated::Binary g) { g instanceof @ruby_binary_pipe } or
8897
TBitwiseOrExprSynth(AST::AstNode parent, int i) { mkSynthChild(BitwiseOrExprKind(), parent, i) } or
89-
TBitwiseXorExprReal(Generated::Binary g) { g instanceof @binary_caret } or
98+
TBitwiseXorExprReal(Generated::Binary g) { g instanceof @ruby_binary_caret } or
9099
TBitwiseXorExprSynth(AST::AstNode parent, int i) {
91100
mkSynthChild(BitwiseXorExprKind(), parent, i)
92101
} or
93102
TBlockArgument(Generated::BlockArgument g) or
94103
TBlockParameter(Generated::BlockParameter g) or
95104
TBraceBlock(Generated::Block g) { not g.getParent() instanceof Generated::Lambda } or
96105
TBreakStmt(Generated::Break g) or
97-
TCaseEqExpr(Generated::Binary g) { g instanceof @binary_equalequalequal } or
106+
TCaseEqExpr(Generated::Binary g) { g instanceof @ruby_binary_equalequalequal } or
98107
TCaseExpr(Generated::Case g) or
99108
TCharacterLiteral(Generated::Character g) or
100109
TClassDeclaration(Generated::Class g) or
@@ -104,14 +113,14 @@ private module Cached {
104113
TClassVariableAccessSynth(AST::AstNode parent, int i, AST::ClassVariable v) {
105114
mkSynthChild(ClassVariableAccessKind(v), parent, i)
106115
} or
107-
TComplementExpr(Generated::Unary g) { g instanceof @unary_tilde } or
116+
TComplementExpr(Generated::Unary g) { g instanceof @ruby_unary_tilde } or
108117
TComplexLiteral(Generated::Complex g) or
109-
TDefinedExpr(Generated::Unary g) { g instanceof @unary_definedquestion } or
118+
TDefinedExpr(Generated::Unary g) { g instanceof @ruby_unary_definedquestion } or
110119
TDelimitedSymbolLiteral(Generated::DelimitedSymbol g) or
111120
TDestructuredLeftAssignment(Generated::DestructuredLeftAssignment g) {
112121
not strictcount(int i | exists(g.getParent().(Generated::LeftAssignmentList).getChild(i))) = 1
113122
} or
114-
TDivExprReal(Generated::Binary g) { g instanceof @binary_slash } or
123+
TDivExprReal(Generated::Binary g) { g instanceof @ruby_binary_slash } or
115124
TDivExprSynth(AST::AstNode parent, int i) { mkSynthChild(DivExprKind(), parent, i) } or
116125
TDo(Generated::Do g) or
117126
TDoBlock(Generated::DoBlock g) { not g.getParent() instanceof Generated::Lambda } or
@@ -121,15 +130,15 @@ private module Cached {
121130
TEmptyStmt(Generated::EmptyStatement g) or
122131
TEndBlock(Generated::EndBlock g) or
123132
TEnsure(Generated::Ensure g) or
124-
TEqExpr(Generated::Binary g) { g instanceof @binary_equalequal } or
125-
TExponentExprReal(Generated::Binary g) { g instanceof @binary_starstar } or
133+
TEqExpr(Generated::Binary g) { g instanceof @ruby_binary_equalequal } or
134+
TExponentExprReal(Generated::Binary g) { g instanceof @ruby_binary_starstar } or
126135
TExponentExprSynth(AST::AstNode parent, int i) { mkSynthChild(ExponentExprKind(), parent, i) } or
127136
TFalseLiteral(Generated::False g) or
128137
TFloatLiteral(Generated::Float g) { not any(Generated::Rational r).getChild() = g } or
129138
TForExpr(Generated::For g) or
130139
TForIn(Generated::In g) or // TODO REMOVE
131-
TGEExpr(Generated::Binary g) { g instanceof @binary_rangleequal } or
132-
TGTExpr(Generated::Binary g) { g instanceof @binary_rangle } or
140+
TGEExpr(Generated::Binary g) { g instanceof @ruby_binary_rangleequal } or
141+
TGTExpr(Generated::Binary g) { g instanceof @ruby_binary_rangle } or
133142
TGlobalVariableAccessReal(Generated::GlobalVariable g, AST::GlobalVariable v) {
134143
GlobalVariableAccess::range(g, v)
135144
} or
@@ -155,10 +164,10 @@ private module Cached {
155164
mkSynthChild(IntegerLiteralKind(value), parent, i)
156165
} or
157166
TKeywordParameter(Generated::KeywordParameter g) or
158-
TLEExpr(Generated::Binary g) { g instanceof @binary_langleequal } or
159-
TLShiftExprReal(Generated::Binary g) { g instanceof @binary_langlelangle } or
167+
TLEExpr(Generated::Binary g) { g instanceof @ruby_binary_langleequal } or
168+
TLShiftExprReal(Generated::Binary g) { g instanceof @ruby_binary_langlelangle } or
160169
TLShiftExprSynth(AST::AstNode parent, int i) { mkSynthChild(LShiftExprKind(), parent, i) } or
161-
TLTExpr(Generated::Binary g) { g instanceof @binary_langle } or
170+
TLTExpr(Generated::Binary g) { g instanceof @ruby_binary_langle } or
162171
TLambda(Generated::Lambda g) or
163172
TLeftAssignmentList(Generated::LeftAssignmentList g) or
164173
TLocalVariableAccessReal(Generated::Identifier g, AST::LocalVariable v) {
@@ -170,33 +179,33 @@ private module Cached {
170179
mkSynthChild(LocalVariableAccessSynthKind(v), parent, i)
171180
} or
172181
TLogicalAndExprReal(Generated::Binary g) {
173-
g instanceof @binary_and or g instanceof @binary_ampersandampersand
182+
g instanceof @ruby_binary_and or g instanceof @ruby_binary_ampersandampersand
174183
} or
175184
TLogicalAndExprSynth(AST::AstNode parent, int i) {
176185
mkSynthChild(LogicalAndExprKind(), parent, i)
177186
} or
178187
TLogicalOrExprReal(Generated::Binary g) {
179-
g instanceof @binary_or or g instanceof @binary_pipepipe
188+
g instanceof @ruby_binary_or or g instanceof @ruby_binary_pipepipe
180189
} or
181190
TLogicalOrExprSynth(AST::AstNode parent, int i) { mkSynthChild(LogicalOrExprKind(), parent, i) } or
182191
TMethod(Generated::Method g) or
183192
TMethodCallSynth(AST::AstNode parent, int i, string name, boolean setter, int arity) {
184193
mkSynthChild(MethodCallKind(name, setter, arity), parent, i)
185194
} or
186195
TModuleDeclaration(Generated::Module g) or
187-
TModuloExprReal(Generated::Binary g) { g instanceof @binary_percent } or
196+
TModuloExprReal(Generated::Binary g) { g instanceof @ruby_binary_percent } or
188197
TModuloExprSynth(AST::AstNode parent, int i) { mkSynthChild(ModuloExprKind(), parent, i) } or
189-
TMulExprReal(Generated::Binary g) { g instanceof @binary_star } or
198+
TMulExprReal(Generated::Binary g) { g instanceof @ruby_binary_star } or
190199
TMulExprSynth(AST::AstNode parent, int i) { mkSynthChild(MulExprKind(), parent, i) } or
191-
TNEExpr(Generated::Binary g) { g instanceof @binary_bangequal } or
200+
TNEExpr(Generated::Binary g) { g instanceof @ruby_binary_bangequal } or
192201
TNextStmt(Generated::Next g) or
193202
TNilLiteral(Generated::Nil g) or
194-
TNoRegExpMatchExpr(Generated::Binary g) { g instanceof @binary_bangtilde } or
195-
TNotExpr(Generated::Unary g) { g instanceof @unary_bang or g instanceof @unary_not } or
203+
TNoRegExpMatchExpr(Generated::Binary g) { g instanceof @ruby_binary_bangtilde } or
204+
TNotExpr(Generated::Unary g) { g instanceof @ruby_unary_bang or g instanceof @ruby_unary_not } or
196205
TOptionalParameter(Generated::OptionalParameter g) or
197206
TPair(Generated::Pair g) or
198207
TParenthesizedExpr(Generated::ParenthesizedStatements g) or
199-
TRShiftExprReal(Generated::Binary g) { g instanceof @binary_ranglerangle } or
208+
TRShiftExprReal(Generated::Binary g) { g instanceof @ruby_binary_ranglerangle } or
200209
TRShiftExprSynth(AST::AstNode parent, int i) { mkSynthChild(RShiftExprKind(), parent, i) } or
201210
TRangeLiteralReal(Generated::Range g) or
202211
TRangeLiteralSynth(AST::AstNode parent, int i, boolean inclusive) {
@@ -205,7 +214,7 @@ private module Cached {
205214
TRationalLiteral(Generated::Rational g) or
206215
TRedoStmt(Generated::Redo g) or
207216
TRegExpLiteral(Generated::Regex g) or
208-
TRegExpMatchExpr(Generated::Binary g) { g instanceof @binary_equaltilde } or
217+
TRegExpMatchExpr(Generated::Binary g) { g instanceof @ruby_binary_equaltilde } or
209218
TRegularArrayLiteral(Generated::Array g) or
210219
TRegularMethodCall(Generated::Call g) { isRegularMethodCall(g) } or
211220
TRegularStringLiteral(Generated::String g) or
@@ -234,7 +243,7 @@ private module Cached {
234243
TSimpleSymbolLiteral(Generated::SimpleSymbol g) or
235244
TSingletonClass(Generated::SingletonClass g) or
236245
TSingletonMethod(Generated::SingletonMethod g) or
237-
TSpaceshipExpr(Generated::Binary g) { g instanceof @binary_langleequalrangle } or
246+
TSpaceshipExpr(Generated::Binary g) { g instanceof @ruby_binary_langleequalrangle } or
238247
TSplatExprReal(Generated::SplatArgument g) or
239248
TSplatExprSynth(AST::AstNode parent, int i) { mkSynthChild(SplatExprKind(), parent, i) } or
240249
TSplatParameter(Generated::SplatParameter g) or
@@ -246,7 +255,7 @@ private module Cached {
246255
TStringTextComponent(Generated::Token g) {
247256
g instanceof Generated::StringContent or g instanceof Generated::HeredocContent
248257
} or
249-
TSubExprReal(Generated::Binary g) { g instanceof @binary_minus } or
258+
TSubExprReal(Generated::Binary g) { g instanceof @ruby_binary_minus } or
250259
TSubExprSynth(AST::AstNode parent, int i) { mkSynthChild(SubExprKind(), parent, i) } or
251260
TSubshellLiteral(Generated::Subshell g) or
252261
TSymbolArrayLiteral(Generated::SymbolArray g) or
@@ -264,8 +273,8 @@ private module Cached {
264273
TToplevel(Generated::Program g) { g.getLocation().getFile().getExtension() != "erb" } or
265274
TTrueLiteral(Generated::True g) or
266275
TTuplePatternParameter(Generated::DestructuredParameter g) or
267-
TUnaryMinusExpr(Generated::Unary g) { g instanceof @unary_minus } or
268-
TUnaryPlusExpr(Generated::Unary g) { g instanceof @unary_plus } or
276+
TUnaryMinusExpr(Generated::Unary g) { g instanceof @ruby_unary_minus } or
277+
TUnaryPlusExpr(Generated::Unary g) { g instanceof @ruby_unary_plus } or
269278
TUndefStmt(Generated::Undef g) or
270279
TUnlessExpr(Generated::Unless g) or
271280
TUnlessModifierExpr(Generated::UnlessModifier g) or

ql/src/codeql_ruby/ast/internal/Scope.qll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ private class TBlockLike = TDoBlock or TLambda or TBlock or TEndBlock;
1010
private class TModuleLike = TToplevel or TModuleDeclaration or TClassDeclaration or TSingletonClass;
1111

1212
module Scope {
13-
class TypeRange = Callable::TypeRange or ModuleBase::TypeRange or @end_block;
13+
class TypeRange = Callable::TypeRange or ModuleBase::TypeRange or @ruby_end_block;
1414

1515
class Range extends Generated::AstNode, TypeRange {
1616
Range() { not this = any(Generated::Lambda l).getBody() }
@@ -34,13 +34,13 @@ module Scope {
3434
}
3535

3636
module MethodBase {
37-
class TypeRange = @method or @singleton_method;
37+
class TypeRange = @ruby_method or @ruby_singleton_method;
3838

3939
class Range extends Scope::Range, TypeRange { }
4040
}
4141

4242
module Callable {
43-
class TypeRange = MethodBase::TypeRange or @do_block or @lambda or @block;
43+
class TypeRange = MethodBase::TypeRange or @ruby_do_block or @ruby_lambda or @ruby_block;
4444

4545
class Range extends Scope::Range, TypeRange {
4646
Parameter::Range getParameter(int i) {
@@ -54,7 +54,7 @@ module Callable {
5454
}
5555

5656
module ModuleBase {
57-
class TypeRange = @program or @module or @class or @singleton_class;
57+
class TypeRange = @ruby_program or @ruby_module or @ruby_class or @ruby_singleton_class;
5858

5959
class Range extends Scope::Range, TypeRange { }
6060
}

ql/src/codeql_ruby/ast/internal/Variable.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ private module Cached {
145145

146146
// Db types that can be vcalls
147147
private class VcallToken =
148-
@scope_resolution or @token_constant or @token_identifier or @token_super;
148+
@ruby_scope_resolution or @ruby_token_constant or @ruby_token_identifier or @ruby_token_super;
149149

150150
/**
151151
* Holds if `i` is an `identifier` node occurring in the context where it

0 commit comments

Comments
 (0)