mirror of
https://github.com/github/codeql.git
synced 2026-02-22 18:03:39 +01:00
Remove ThenExpr, ElseExpr, and DoExpr from public API
This commit is contained in:
@@ -46,11 +46,11 @@ class IfOrElsifExpr extends ConditionalExpr {
|
||||
override IfOrElsifExpr::Range range;
|
||||
|
||||
/** Gets the 'then' branch of this `if`/`elsif` expression. */
|
||||
final override ThenExpr getThen() { result = range.getThen() }
|
||||
final override ExprSequence getThen() { result = range.getThen() }
|
||||
|
||||
/**
|
||||
* Gets the `elsif`/`else` branch of this `if`/`elsif` expression, if any. In
|
||||
* the following example, the result is an `ElseExpr` containing `b`.
|
||||
* the following example, the result is an `ExprSequence` containing `b`.
|
||||
* ```rb
|
||||
* if foo
|
||||
* a
|
||||
@@ -66,8 +66,8 @@ class IfOrElsifExpr extends ConditionalExpr {
|
||||
* ```
|
||||
* There can be at most one result, since `elsif` branches nest. In the
|
||||
* following example, `ifExpr.getElse()` returns an `ElsifExpr`, and the
|
||||
* `else` branch is nested inside that. To get the `ElseExpr` for the `else`
|
||||
* branch, i.e. the one containing `c`, use
|
||||
* `else` branch is nested inside that. To get the `ExprSequence` for the
|
||||
* `else` branch, i.e. the one containing `c`, use
|
||||
* `getElse().(ElsifExpr).getElse()`.
|
||||
* ```rb
|
||||
* if foo
|
||||
@@ -219,7 +219,7 @@ class CaseExpr extends ControlExpr, @case__ {
|
||||
|
||||
/**
|
||||
* Gets the `n`th branch of this case expression, either a `WhenExpr` or an
|
||||
* `ElseExpr`.
|
||||
* `ExprSequence`.
|
||||
*/
|
||||
final Expr getBranch(int n) { result = range.getBranch(n) }
|
||||
|
||||
@@ -233,7 +233,7 @@ class CaseExpr extends ControlExpr, @case__ {
|
||||
final WhenExpr getAWhenBranch() { result = range.getAWhenBranch() }
|
||||
|
||||
/** Gets the `else` branch of this case expression, if any. */
|
||||
final ElseExpr getElseBranch() { result = range.getElseBranch() }
|
||||
final ExprSequence getElseBranch() { result = range.getElseBranch() }
|
||||
|
||||
/**
|
||||
* Gets the number of branches of this case expression.
|
||||
@@ -257,7 +257,7 @@ class WhenExpr extends Expr, @when {
|
||||
final override string toString() { result = "when ..." }
|
||||
|
||||
/** Gets the body of this case-when expression. */
|
||||
final ThenExpr getBody() { result = range.getBody() }
|
||||
final ExprSequence getBody() { result = range.getBody() }
|
||||
|
||||
/**
|
||||
* Gets the `n`th pattern (or condition) in this case-when expression.
|
||||
@@ -303,7 +303,7 @@ class WhileExpr extends Loop, @while {
|
||||
final override string toString() { result = "while ..." }
|
||||
|
||||
/** Gets the body of this `while` loop. */
|
||||
final override DoExpr getBody() { result = range.getBody() }
|
||||
final override ExprSequence getBody() { result = range.getBody() }
|
||||
|
||||
/** Gets the condition expression of this `while` loop. */
|
||||
final Expr getCondition() { result = range.getCondition() }
|
||||
@@ -326,7 +326,7 @@ class UntilExpr extends Loop, @until {
|
||||
final override string toString() { result = "until ..." }
|
||||
|
||||
/** Gets the body of this `until` loop. */
|
||||
final override DoExpr getBody() { result = range.getBody() }
|
||||
final override ExprSequence getBody() { result = range.getBody() }
|
||||
|
||||
/** Gets the condition expression of this `until` loop. */
|
||||
final Expr getCondition() { result = range.getCondition() }
|
||||
|
||||
@@ -78,6 +78,10 @@ class RegexLiteral extends Literal, @regex {
|
||||
class ExprSequence extends Expr {
|
||||
override ExprSequence::Range range;
|
||||
|
||||
final override string getAPrimaryQlClass() { result = "ExprSequence" }
|
||||
|
||||
final override string toString() { result = "...; ..." }
|
||||
|
||||
/** Gets the `n`th expression in this sequence. */
|
||||
final Expr getExpr(int n) { result = this.(ExprSequence::Range).getExpr(n) }
|
||||
|
||||
@@ -93,39 +97,3 @@ class ExprSequence extends Expr {
|
||||
/** Holds if this sequence has no expressions. */
|
||||
final predicate isEmpty() { this.getNumberOfExpressions() = 0 }
|
||||
}
|
||||
|
||||
/**
|
||||
* A sequence of expressions in a `then` branch of an `if`, `unless`, or `when`
|
||||
* expression.
|
||||
*/
|
||||
class ThenExpr extends ExprSequence, @then {
|
||||
final override ThenExpr::Range range;
|
||||
|
||||
final override string getAPrimaryQlClass() { result = "ThenExpr" }
|
||||
|
||||
final override string toString() { result = "then ..." }
|
||||
}
|
||||
|
||||
/**
|
||||
* A sequence of expressions in an `else` branch of an `if`, `unless`, or
|
||||
* `case` expression.
|
||||
*/
|
||||
class ElseExpr extends ExprSequence, @else {
|
||||
final override ElseExpr::Range range;
|
||||
|
||||
final override string getAPrimaryQlClass() { result = "ElseExpr" }
|
||||
|
||||
final override string toString() { result = "else ..." }
|
||||
}
|
||||
|
||||
/**
|
||||
* A sequence of expressions representing the body of a `for`, `while`, or
|
||||
* `until` loop.
|
||||
*/
|
||||
class DoExpr extends ExprSequence, @do {
|
||||
final override DoExpr::Range range;
|
||||
|
||||
final override string getAPrimaryQlClass() { result = "DoExpr" }
|
||||
|
||||
final override string toString() { result = "do ..." }
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ module IfExpr {
|
||||
|
||||
final override Expr getCondition() { result = generated.getCondition() }
|
||||
|
||||
final override ThenExpr getThen() { result = generated.getConsequence() }
|
||||
final override ExprSequence getThen() { result = generated.getConsequence() }
|
||||
|
||||
final override Expr getElse() { result = generated.getAlternative() }
|
||||
}
|
||||
@@ -39,7 +39,7 @@ module ElsifExpr {
|
||||
|
||||
final override Expr getCondition() { result = generated.getCondition() }
|
||||
|
||||
final override ThenExpr getThen() { result = generated.getConsequence() }
|
||||
final override ExprSequence getThen() { result = generated.getConsequence() }
|
||||
|
||||
final override Expr getElse() { result = generated.getAlternative() }
|
||||
}
|
||||
@@ -51,9 +51,9 @@ module UnlessExpr {
|
||||
|
||||
final override Expr getCondition() { result = generated.getCondition() }
|
||||
|
||||
final override ThenExpr getThen() { result = generated.getConsequence() }
|
||||
final override ExprSequence getThen() { result = generated.getConsequence() }
|
||||
|
||||
final override ElseExpr getElse() { result = generated.getAlternative() }
|
||||
final override ExprSequence getElse() { result = generated.getAlternative() }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,7 +103,7 @@ module CaseExpr {
|
||||
|
||||
final WhenExpr getAWhenBranch() { result = this.getBranch(_) }
|
||||
|
||||
final ElseExpr getElseBranch() { result = this.getBranch(_) }
|
||||
final ExprSequence getElseBranch() { result = this.getBranch(_) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ module WhenExpr {
|
||||
class Range extends Expr::Range, @when {
|
||||
final override Generated::When generated;
|
||||
|
||||
final ThenExpr getBody() { result = generated.getBody() }
|
||||
final ExprSequence getBody() { result = generated.getBody() }
|
||||
|
||||
final Expr getPattern(int n) { result = generated.getPattern(n).getChild() }
|
||||
}
|
||||
@@ -127,7 +127,7 @@ module WhileExpr {
|
||||
class Range extends Loop::Range, @while {
|
||||
final override Generated::While generated;
|
||||
|
||||
final override DoExpr getBody() { result = generated.getBody() }
|
||||
final override ExprSequence getBody() { result = generated.getBody() }
|
||||
|
||||
final Expr getCondition() { result = generated.getCondition() }
|
||||
}
|
||||
@@ -137,7 +137,7 @@ module UntilExpr {
|
||||
class Range extends Loop::Range, @until {
|
||||
final override Generated::Until generated;
|
||||
|
||||
final override DoExpr getBody() { result = generated.getBody() }
|
||||
final override ExprSequence getBody() { result = generated.getBody() }
|
||||
|
||||
final Expr getCondition() { result = generated.getCondition() }
|
||||
}
|
||||
@@ -167,7 +167,7 @@ module ForExpr {
|
||||
class Range extends Loop::Range, @for {
|
||||
final override Generated::For generated;
|
||||
|
||||
final override DoExpr getBody() { result = generated.getBody() }
|
||||
final override ExprSequence getBody() { result = generated.getBody() }
|
||||
|
||||
final Pattern getPattern() { result = generated.getPattern() }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user