diff --git a/ql/src/codeql_ruby/ast/internal/Constant.qll b/ql/src/codeql_ruby/ast/internal/Constant.qll index 3bcd815f640..f40feda50b3 100644 --- a/ql/src/codeql_ruby/ast/internal/Constant.qll +++ b/ql/src/codeql_ruby/ast/internal/Constant.qll @@ -57,13 +57,15 @@ module ConstantWriteAccess { } module ConstantAssignment { - abstract class Range extends ConstantWriteAccess::Range { } + abstract class Range extends ConstantWriteAccess::Range, LhsExpr::Range { + Range() { explicitAssignmentNode(this, _) } + + override string toString() { result = ConstantWriteAccess::Range.super.toString() } + } private class TokenConstantAssignmentRange extends ConstantAssignment::Range, @token_constant { final override Generated::Constant generated; - TokenConstantAssignmentRange() { explicitAssignmentNode(this, _) } - final override string getName() { result = generated.getValue() } final override Expr::Range getScopeExpr() { none() } @@ -75,10 +77,7 @@ module ConstantAssignment { final override Generated::ScopeResolution generated; Generated::Constant constant; - ScopeResolutionAssignmentRange() { - constant = generated.getName() and - explicitAssignmentNode(this, _) - } + ScopeResolutionAssignmentRange() { constant = generated.getName() } final override string getName() { result = constant.getValue() }