Skip to content

Commit 94f0f8d

Browse files
committed
Make SelfVariableAccess a sub type of LocalVariableAccess
1 parent e0b2d88 commit 94f0f8d

File tree

4 files changed

+5
-6
lines changed

4 files changed

+5
-6
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ class VariableReadAccess extends VariableAccess {
130130

131131
/** An access to a local variable. */
132132
class LocalVariableAccess extends VariableAccess instanceof LocalVariableAccessImpl {
133-
final override string getAPrimaryQlClass() { result = "LocalVariableAccess" }
133+
override string getAPrimaryQlClass() { result = "LocalVariableAccess" }
134134

135135
/**
136136
* Holds if this access is a captured variable access. For example in
@@ -190,7 +190,7 @@ class ClassVariableWriteAccess extends ClassVariableAccess, VariableWriteAccess
190190
class ClassVariableReadAccess extends ClassVariableAccess, VariableReadAccess { }
191191

192192
/** An access to the `self` variable */
193-
class SelfVariableAccess extends VariableAccess instanceof SelfVariableAccessImpl {
193+
class SelfVariableAccess extends LocalVariableAccess instanceof SelfVariableAccessImpl {
194194
final override string getAPrimaryQlClass() { result = "SelfVariableAccess" }
195195
}
196196

ruby/ql/lib/codeql/ruby/ast/internal/AST.qll

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,8 @@ class TVariableAccess =
698698
TLocalVariableAccess or TGlobalVariableAccess or TInstanceVariableAccess or
699699
TClassVariableAccess or TSelfVariableAccess;
700700

701-
class TLocalVariableAccess = TLocalVariableAccessReal or TLocalVariableAccessSynth;
701+
class TLocalVariableAccess =
702+
TLocalVariableAccessReal or TLocalVariableAccessSynth or TSelfVariableAccess;
702703

703704
class TGlobalVariableAccess = TGlobalVariableAccessReal or TGlobalVariableAccessSynth;
704705

ruby/ql/lib/codeql/ruby/ast/internal/Variable.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -618,7 +618,7 @@ private class ClassVariableAccessSynth extends ClassVariableAccessRealImpl,
618618
final override string toString() { result = v.getName() }
619619
}
620620

621-
abstract class SelfVariableAccessImpl extends VariableAccessImpl, TSelfVariableAccess { }
621+
abstract class SelfVariableAccessImpl extends LocalVariableAccessImpl, TSelfVariableAccess { }
622622

623623
private class SelfVariableAccessReal extends SelfVariableAccessImpl, TSelfReal {
624624
private Ruby::Self self;

ruby/ql/lib/codeql/ruby/controlflow/internal/ControlFlowGraphImpl.qll

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -956,8 +956,6 @@ module Trees {
956956
final override ControlFlowTree getChildElement(int i) { result = this.getValue() and i = 0 }
957957
}
958958

959-
private class SelfTree extends LeafTree, Self { }
960-
961959
private class SimpleParameterTree extends NonDefaultValueParameterTree, SimpleParameter { }
962960

963961
// Corner case: For duplicated '_' parameters, only the first occurence has a defining

0 commit comments

Comments
 (0)