mirror of
https://github.com/github/codeql.git
synced 2026-05-04 05:05:12 +02:00
Make SelfVariableAccess a sub type of LocalVariableAccess
This commit is contained in:
@@ -130,7 +130,7 @@ class VariableReadAccess extends VariableAccess {
|
||||
|
||||
/** An access to a local variable. */
|
||||
class LocalVariableAccess extends VariableAccess instanceof LocalVariableAccessImpl {
|
||||
final override string getAPrimaryQlClass() { result = "LocalVariableAccess" }
|
||||
override string getAPrimaryQlClass() { result = "LocalVariableAccess" }
|
||||
|
||||
/**
|
||||
* Holds if this access is a captured variable access. For example in
|
||||
@@ -190,7 +190,7 @@ class ClassVariableWriteAccess extends ClassVariableAccess, VariableWriteAccess
|
||||
class ClassVariableReadAccess extends ClassVariableAccess, VariableReadAccess { }
|
||||
|
||||
/** An access to the `self` variable */
|
||||
class SelfVariableAccess extends VariableAccess instanceof SelfVariableAccessImpl {
|
||||
class SelfVariableAccess extends LocalVariableAccess instanceof SelfVariableAccessImpl {
|
||||
final override string getAPrimaryQlClass() { result = "SelfVariableAccess" }
|
||||
}
|
||||
|
||||
|
||||
@@ -698,7 +698,8 @@ class TVariableAccess =
|
||||
TLocalVariableAccess or TGlobalVariableAccess or TInstanceVariableAccess or
|
||||
TClassVariableAccess or TSelfVariableAccess;
|
||||
|
||||
class TLocalVariableAccess = TLocalVariableAccessReal or TLocalVariableAccessSynth;
|
||||
class TLocalVariableAccess =
|
||||
TLocalVariableAccessReal or TLocalVariableAccessSynth or TSelfVariableAccess;
|
||||
|
||||
class TGlobalVariableAccess = TGlobalVariableAccessReal or TGlobalVariableAccessSynth;
|
||||
|
||||
|
||||
@@ -618,7 +618,7 @@ private class ClassVariableAccessSynth extends ClassVariableAccessRealImpl,
|
||||
final override string toString() { result = v.getName() }
|
||||
}
|
||||
|
||||
abstract class SelfVariableAccessImpl extends VariableAccessImpl, TSelfVariableAccess { }
|
||||
abstract class SelfVariableAccessImpl extends LocalVariableAccessImpl, TSelfVariableAccess { }
|
||||
|
||||
private class SelfVariableAccessReal extends SelfVariableAccessImpl, TSelfReal {
|
||||
private Ruby::Self self;
|
||||
|
||||
@@ -956,8 +956,6 @@ module Trees {
|
||||
final override ControlFlowTree getChildElement(int i) { result = this.getValue() and i = 0 }
|
||||
}
|
||||
|
||||
private class SelfTree extends LeafTree, Self { }
|
||||
|
||||
private class SimpleParameterTree extends NonDefaultValueParameterTree, SimpleParameter { }
|
||||
|
||||
// Corner case: For duplicated '_' parameters, only the first occurence has a defining
|
||||
|
||||
Reference in New Issue
Block a user