diff --git a/ql/src/codeql_ruby/ast/Control.qll b/ql/src/codeql_ruby/ast/Control.qll index 6f5a7dbcded..e9ff5675778 100644 --- a/ql/src/codeql_ruby/ast/Control.qll +++ b/ql/src/codeql_ruby/ast/Control.qll @@ -35,7 +35,7 @@ class ConditionalExpr extends ControlExpr { * Gets the branch of this conditional expression that is taken when the * condition evaluates to `cond`, if any. */ - Expr getBranch(boolean cond) { result = range.getBranch(cond) } + Stmt getBranch(boolean cond) { result = range.getBranch(cond) } } /** @@ -57,7 +57,7 @@ class IfExpr extends ConditionalExpr { final predicate isElsif() { this instanceof @elsif } /** Gets the 'then' branch of this `if`/`elsif` expression. */ - final StmtSequence getThen() { result = range.getThen() } + final Stmt getThen() { result = range.getThen() } /** * Gets the `elsif`/`else` branch of this `if`/`elsif` expression, if any. In @@ -90,7 +90,7 @@ class IfExpr extends ConditionalExpr { * end * ``` */ - final Expr getElse() { result = range.getElse() } + final Stmt getElse() { result = range.getElse() } } /** @@ -117,7 +117,7 @@ class UnlessExpr extends ConditionalExpr, @unless { * end * ``` */ - final StmtSequence getThen() { result = range.getThen() } + final Stmt getThen() { result = range.getThen() } /** * Gets the 'else' branch of this `unless` expression. In the following @@ -130,7 +130,7 @@ class UnlessExpr extends ConditionalExpr, @unless { * end * ``` */ - final StmtSequence getElse() { result = range.getElse() } + final Stmt getElse() { result = range.getElse() } } /** @@ -151,7 +151,7 @@ class IfModifierExpr extends ConditionalExpr, @if_modifier { * foo if bar * ``` */ - final Expr getExpr() { result = range.getExpr() } + final Stmt getExpr() { result = range.getExpr() } } /** @@ -172,7 +172,7 @@ class UnlessModifierExpr extends ConditionalExpr, @unless_modifier { * foo unless bar * ``` */ - final Expr getExpr() { result = range.getExpr() } + final Stmt getExpr() { result = range.getExpr() } } /** @@ -187,10 +187,10 @@ class TernaryIfExpr extends ConditionalExpr, @conditional { final override string getAPrimaryQlClass() { result = "TernaryIfExpr" } /** Gets the 'then' branch of this ternary if expression. */ - final Expr getThen() { result = range.getThen() } + final Stmt getThen() { result = range.getThen() } /** Gets the 'else' branch of this ternary if expression. */ - final Expr getElse() { result = range.getElse() } + final Stmt getElse() { result = range.getElse() } } class CaseExpr extends ControlExpr, @case__ { @@ -257,7 +257,7 @@ class WhenExpr extends Expr, @when { final override string getAPrimaryQlClass() { result = "WhenExpr" } /** Gets the body of this case-when expression. */ - final StmtSequence getBody() { result = range.getBody() } + final Stmt getBody() { result = range.getBody() } /** * Gets the `n`th pattern (or condition) in this case-when expression. In the @@ -291,7 +291,7 @@ class Loop extends ControlExpr { override Loop::Range range; /** Gets the body of this loop. */ - Expr getBody() { result = range.getBody() } + Stmt getBody() { result = range.getBody() } } /** @@ -320,7 +320,7 @@ class WhileExpr extends ConditionalLoop, @while { final override string getAPrimaryQlClass() { result = "WhileExpr" } /** Gets the body of this `while` loop. */ - final override StmtSequence getBody() { result = range.getBody() } + final override Stmt getBody() { result = range.getBody() } } /** @@ -338,7 +338,7 @@ class UntilExpr extends ConditionalLoop, @until { final override string getAPrimaryQlClass() { result = "UntilExpr" } /** Gets the body of this `until` loop. */ - final override StmtSequence getBody() { result = range.getBody() } + final override Stmt getBody() { result = range.getBody() } } /** @@ -379,7 +379,7 @@ class ForExpr extends Loop, @for { final override string getAPrimaryQlClass() { result = "ForExpr" } /** Gets the body of this `for` loop. */ - final override Expr getBody() { result = range.getBody() } + final override Stmt getBody() { result = range.getBody() } /** Gets the pattern representing the iteration argument. */ final Pattern getPattern() { result = range.getPattern() } diff --git a/ql/src/codeql_ruby/ast/Operation.qll b/ql/src/codeql_ruby/ast/Operation.qll index 1b2458777f5..a25b0e4df16 100644 --- a/ql/src/codeql_ruby/ast/Operation.qll +++ b/ql/src/codeql_ruby/ast/Operation.qll @@ -105,10 +105,10 @@ class BinaryOperation extends Operation, @binary { override BinaryOperation::Range range; /** Gets the left operand of this binary operation. */ - final Expr getLeftOperand() { result = range.getLeftOperand() } + final Stmt getLeftOperand() { result = range.getLeftOperand() } /** Gets the right operand of this binary operation. */ - final Expr getRightOperand() { result = range.getRightOperand() } + final Stmt getRightOperand() { result = range.getRightOperand() } } /** diff --git a/ql/src/codeql_ruby/ast/internal/Control.qll b/ql/src/codeql_ruby/ast/internal/Control.qll index c8a1e9d300c..adc3d4ea982 100644 --- a/ql/src/codeql_ruby/ast/internal/Control.qll +++ b/ql/src/codeql_ruby/ast/internal/Control.qll @@ -12,7 +12,7 @@ module ConditionalExpr { abstract class Range extends ControlExpr::Range { abstract Expr getCondition(); - abstract Expr getBranch(boolean cond); + abstract Stmt getBranch(boolean cond); override predicate child(string label, AstNode::Range child) { label = "getCondition" and child = getCondition() @@ -24,9 +24,9 @@ module ConditionalExpr { module IfExpr { abstract class Range extends ConditionalExpr::Range { - abstract StmtSequence getThen(); + abstract Stmt getThen(); - abstract Expr getElse(); + abstract Stmt getElse(); final override string toString() { if this instanceof @elsif then result = "elsif ..." else result = "if ..." @@ -46,11 +46,11 @@ module IfExpr { final override Expr getCondition() { result = generated.getCondition() } - final override StmtSequence getThen() { result = generated.getConsequence() } + final override Stmt getThen() { result = generated.getConsequence() } - final override Expr getElse() { result = generated.getAlternative() } + final override Stmt getElse() { result = generated.getAlternative() } - final override Expr getBranch(boolean cond) { + final override Stmt getBranch(boolean cond) { cond = true and result = getThen() or cond = false and result = getElse() @@ -62,9 +62,9 @@ module IfExpr { final override Expr getCondition() { result = generated.getCondition() } - final override StmtSequence getThen() { result = generated.getConsequence() } + final override Stmt getThen() { result = generated.getConsequence() } - final override Expr getElse() { result = generated.getAlternative() } + final override Stmt getElse() { result = generated.getAlternative() } final override Expr getBranch(boolean cond) { cond = true and result = getThen() @@ -80,9 +80,9 @@ module UnlessExpr { final override Expr getCondition() { result = generated.getCondition() } - final StmtSequence getThen() { result = generated.getConsequence() } + final Stmt getThen() { result = generated.getConsequence() } - final StmtSequence getElse() { result = generated.getAlternative() } + final Stmt getElse() { result = generated.getAlternative() } final override Expr getBranch(boolean cond) { cond = false and result = getThen() @@ -108,9 +108,9 @@ module IfModifierExpr { final override Expr getCondition() { result = generated.getCondition() } - final Expr getExpr() { result = generated.getBody() } + final Stmt getExpr() { result = generated.getBody() } - final override Expr getBranch(boolean cond) { cond = true and result = getExpr() } + final override Stmt getBranch(boolean cond) { cond = true and result = getExpr() } final override string toString() { result = "... if ..." } @@ -128,9 +128,9 @@ module UnlessModifierExpr { final override Expr getCondition() { result = generated.getCondition() } - final Expr getExpr() { result = generated.getBody() } + final Stmt getExpr() { result = generated.getBody() } - final override Expr getBranch(boolean cond) { cond = false and result = getExpr() } + final override Stmt getBranch(boolean cond) { cond = false and result = getExpr() } final override string toString() { result = "... unless ..." } @@ -148,11 +148,11 @@ module TernaryIfExpr { final override Expr getCondition() { result = generated.getCondition() } - final Expr getThen() { result = generated.getConsequence() } + final Stmt getThen() { result = generated.getConsequence() } - final Expr getElse() { result = generated.getAlternative() } + final Stmt getElse() { result = generated.getAlternative() } - final override Expr getBranch(boolean cond) { + final override Stmt getBranch(boolean cond) { cond = true and result = getThen() or cond = false and result = getElse() @@ -192,7 +192,7 @@ module WhenExpr { class Range extends Expr::Range, @when { final override Generated::When generated; - final StmtSequence getBody() { result = generated.getBody() } + final Stmt getBody() { result = generated.getBody() } final Expr getPattern(int n) { result = generated.getPattern(n).getChild() } @@ -208,7 +208,7 @@ module WhenExpr { module Loop { abstract class Range extends ControlExpr::Range { - abstract Expr getBody(); + abstract Stmt getBody(); override predicate child(string label, AstNode::Range child) { label = "getBody" and child = getBody() @@ -232,7 +232,7 @@ module WhileExpr { class Range extends ConditionalLoop::Range, @while { final override Generated::While generated; - final override StmtSequence getBody() { result = generated.getBody() } + final override Stmt getBody() { result = generated.getBody() } final override Expr getCondition() { result = generated.getCondition() } @@ -244,7 +244,7 @@ module UntilExpr { class Range extends ConditionalLoop::Range, @until { final override Generated::Until generated; - final override StmtSequence getBody() { result = generated.getBody() } + final override Stmt getBody() { result = generated.getBody() } final override Expr getCondition() { result = generated.getCondition() } @@ -256,7 +256,7 @@ module WhileModifierExpr { class Range extends ConditionalLoop::Range, @while_modifier { final override Generated::WhileModifier generated; - final override Expr getBody() { result = generated.getBody() } + final override Stmt getBody() { result = generated.getBody() } final override Expr getCondition() { result = generated.getCondition() } @@ -268,7 +268,7 @@ module UntilModifierExpr { class Range extends ConditionalLoop::Range, @until_modifier { final override Generated::UntilModifier generated; - final override Expr getBody() { result = generated.getBody() } + final override Stmt getBody() { result = generated.getBody() } final override Expr getCondition() { result = generated.getCondition() } diff --git a/ql/src/codeql_ruby/ast/internal/Operation.qll b/ql/src/codeql_ruby/ast/internal/Operation.qll index 9144598e139..b605416bce9 100644 --- a/ql/src/codeql_ruby/ast/internal/Operation.qll +++ b/ql/src/codeql_ruby/ast/internal/Operation.qll @@ -7,7 +7,7 @@ module Operation { abstract class Range extends Expr::Range { abstract string getOperator(); - abstract Expr getAnOperand(); + abstract Stmt getAnOperand(); override predicate child(string label, AstNode::Range child) { label = "getAnOperand" and child = getAnOperand() @@ -77,9 +77,9 @@ module BinaryOperation { final Expr getLeftOperand() { result = generated.getLeft() } - final Expr getRightOperand() { result = generated.getRight() } + final Stmt getRightOperand() { result = generated.getRight() } - final override Expr getAnOperand() { + final override Stmt getAnOperand() { result = this.getLeftOperand() or result = this.getRightOperand() }