mirror of
https://github.com/github/codeql.git
synced 2025-12-22 03:36:30 +01:00
Kotlin: Adjust ExtensionReceiverAccess.toString to not return hard coded this value
This commit is contained in:
@@ -1894,16 +1894,18 @@ class VarAccess extends Expr, @varaccess {
|
||||
* An access to an extension receiver parameter. This is a parameter access that takes the form of `this` in Kotlin.
|
||||
*/
|
||||
class ExtensionReceiverAccess extends VarAccess {
|
||||
Parameter p;
|
||||
|
||||
ExtensionReceiverAccess() {
|
||||
exists(Parameter p |
|
||||
this.getVariable() = p and
|
||||
p.isExtensionParameter()
|
||||
)
|
||||
this.getVariable() = p and
|
||||
p.isExtensionParameter()
|
||||
}
|
||||
|
||||
override string getAPrimaryQlClass() { result = "ExtensionReceiverAccess" }
|
||||
|
||||
override string toString() { result = "this" }
|
||||
override string toString() {
|
||||
if p.getName() = "<this>" then result = "this" else result = p.getName()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -306,10 +306,10 @@
|
||||
| methods3.kt:3:1:3:49 | fooBarTopLevelMethodExt(...) | MethodAccess |
|
||||
| methods3.kt:3:1:3:49 | int | TypeAccess |
|
||||
| methods3.kt:3:1:3:49 | int | TypeAccess |
|
||||
| methods3.kt:3:1:3:49 | p0 | ExtensionReceiverAccess |
|
||||
| methods3.kt:3:1:3:49 | p1 | VarAccess |
|
||||
| methods3.kt:3:1:3:49 | p1 | VarAccess |
|
||||
| methods3.kt:3:1:3:49 | p2 | VarAccess |
|
||||
| methods3.kt:3:1:3:49 | this | ExtensionReceiverAccess |
|
||||
| methods3.kt:3:5:3:10 | String | TypeAccess |
|
||||
| methods3.kt:3:36:3:45 | int | TypeAccess |
|
||||
| methods3.kt:3:45:3:45 | 1 | IntegerLiteral |
|
||||
@@ -327,10 +327,10 @@
|
||||
| methods3.kt:6:5:6:45 | int | TypeAccess |
|
||||
| methods3.kt:6:5:6:45 | int | TypeAccess |
|
||||
| methods3.kt:6:5:6:45 | p0 | VarAccess |
|
||||
| methods3.kt:6:5:6:45 | p1 | ExtensionReceiverAccess |
|
||||
| methods3.kt:6:5:6:45 | p2 | VarAccess |
|
||||
| methods3.kt:6:5:6:45 | p2 | VarAccess |
|
||||
| methods3.kt:6:5:6:45 | p3 | VarAccess |
|
||||
| methods3.kt:6:5:6:45 | this | ExtensionReceiverAccess |
|
||||
| methods3.kt:6:9:6:14 | String | TypeAccess |
|
||||
| methods3.kt:6:32:6:41 | int | TypeAccess |
|
||||
| methods3.kt:6:41:6:41 | 1 | IntegerLiteral |
|
||||
|
||||
@@ -566,7 +566,7 @@ test.kt:
|
||||
# 19| 2: [ReturnStmt] return ...
|
||||
# 19| 0: [MethodAccess] f(...)
|
||||
# 19| -1: [VarAccess] p0
|
||||
# 19| 0: [ExtensionReceiverAccess] this
|
||||
# 19| 0: [ExtensionReceiverAccess] p1
|
||||
# 19| 1: [VarAccess] p2
|
||||
# 19| 2: [VarAccess] p3
|
||||
# 19| 3: [VarAccess] p4
|
||||
@@ -774,7 +774,7 @@ test.kt:
|
||||
# 56| 2: [ReturnStmt] return ...
|
||||
# 56| 0: [MethodAccess] test(...)
|
||||
# 56| -1: [VarAccess] p0
|
||||
# 56| 0: [ExtensionReceiverAccess] this
|
||||
# 56| 0: [ExtensionReceiverAccess] p1
|
||||
# 56| 1: [VarAccess] p2
|
||||
# 56| 2: [VarAccess] p3
|
||||
# 56| 3: [VarAccess] p4
|
||||
|
||||
Reference in New Issue
Block a user