mirror of
https://github.com/github/codeql.git
synced 2025-12-24 04:36:35 +01:00
Adjust class label generation to handle classes in field initializers
This commit is contained in:
committed by
Chris Smowton
parent
394ec56d9d
commit
857a74cf14
@@ -1018,6 +1018,9 @@ open class KotlinUsesExtractor(
|
||||
is IrFunction -> {
|
||||
"{${useFunction<DbMethod>(parent)}}.$cls"
|
||||
}
|
||||
is IrField -> {
|
||||
"{${useField(parent)}}.$cls"
|
||||
}
|
||||
else -> {
|
||||
if (pkg.isEmpty()) cls else "$pkg.$cls"
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
[INVALID_KEY_SET] predicate isLocalClassOrInterface(@classorinterface typeid, @localtypedeclstmt parent): The key set {typeid} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 1:
|
||||
Tuple 1 in row 13: (1044,1050)
|
||||
Tuple 2 in row 14: (1044,1075)
|
||||
Relevant element: Tuple 1: typeid=1044
|
||||
Full ID for 1044: @"class;L"
|
||||
Relevant element: Tuple 2: typeid=1044
|
||||
Full ID for 1044: @"class;L"
|
||||
[INVALID_KEY_SET] predicate stmts(@stmt id, int kind, @stmtparent parent, int idx, @callable bodydecl): The key set {parent, idx} does not functionally determine all fields.
|
||||
Here is a pair of tuples that agree on the key set but differ at index 0:
|
||||
Tuple 1 in row 223: (1047,0,1046,0,1046)
|
||||
Tuple 2 in row 233: (1072,0,1046,0,1046)
|
||||
Relevant element: Tuple 1: parent=1046
|
||||
Full ID for 1046: @"callable;(1044).<init>()(17)". The ID may expand to @"callable;{@"class;L"}.<init>(){@"type;void"}"
|
||||
Relevant element: Tuple 2: parent=1046
|
||||
Full ID for 1046: @"callable;(1044).<init>()(17)". The ID may expand to @"callable;{@"class;L"}.<init>(){@"type;void"}"
|
||||
Relevant element: Tuple 1: bodydecl=1046
|
||||
Full ID for 1046: @"callable;(1044).<init>()(17)". The ID may expand to @"callable;{@"class;L"}.<init>(){@"type;void"}"
|
||||
Relevant element: Tuple 2: bodydecl=1046
|
||||
Full ID for 1046: @"callable;(1044).<init>()(17)". The ID may expand to @"callable;{@"class;L"}.<init>(){@"type;void"}"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,8 +3,6 @@
|
||||
| classes.kt:119:13:121:13 | class ... | classes.kt:119:13:121:13 | Local2 | classes.kt:118:9:123:9 | localFn | classes.kt:109:1:136:1 | C1 |
|
||||
| classes.kt:129:17:131:17 | class ... | classes.kt:129:17:131:17 | Local3 | classes.kt:128:13:133:13 | fn | classes.kt:127:16:134:9 | new Object(...) { ... } |
|
||||
| localClassField.kt:3:9:3:19 | class ... | localClassField.kt:3:9:3:19 | L | localClassField.kt:1:1:11:1 | A | localClassField.kt:1:1:11:1 | A |
|
||||
| localClassField.kt:3:9:3:19 | class ... | localClassField.kt:8:9:8:19 | L | localClassField.kt:1:1:11:1 | A | localClassField.kt:1:1:11:1 | A |
|
||||
| localClassField.kt:8:9:8:19 | class ... | localClassField.kt:3:9:3:19 | L | localClassField.kt:1:1:11:1 | A | localClassField.kt:1:1:11:1 | A |
|
||||
| localClassField.kt:8:9:8:19 | class ... | localClassField.kt:8:9:8:19 | L | localClassField.kt:1:1:11:1 | A | localClassField.kt:1:1:11:1 | A |
|
||||
| local_anonymous.kt:11:9:11:24 | class ... | local_anonymous.kt:11:9:11:24 | | local_anonymous.kt:10:5:13:5 | fn2 | local_anonymous.kt:3:1:36:1 | Class1 |
|
||||
| local_anonymous.kt:25:9:25:27 | class ... | local_anonymous.kt:25:9:25:27 | LocalClass | local_anonymous.kt:24:5:27:5 | fn5 | local_anonymous.kt:3:1:36:1 | Class1 |
|
||||
|
||||
Reference in New Issue
Block a user