Add missing type access expression for static field accesses

This commit is contained in:
Tamas Vajk
2022-04-14 15:20:54 +02:00
committed by Ian Lynagh
parent 246f228a3b
commit 1e529b2563
2 changed files with 6 additions and 3 deletions

View File

@@ -2486,9 +2486,9 @@ open class KotlinFileExtractor(
val receiver = e.receiver
if (receiver != null) {
extractExpressionExpr(receiver, callable, id, -1, exprParent.enclosingStmt)
} else if (owner.isStatic) {
extractTypeAccessRecursive(owner.parentAsClass.toRawType(), locId, id, -1, callable, exprParent.enclosingStmt)
}
// todo: do we need to extract a type access expression for static fields?
}
is IrGetEnumValue -> {
val exprParent = parent.expr(e, callable)
@@ -2575,6 +2575,8 @@ open class KotlinFileExtractor(
val receiver = e.receiver
if (receiver != null) {
extractExpressionExpr(receiver, callable, lhsId, -1, exprParent.enclosingStmt)
} else if (realField.isStatic) {
extractTypeAccessRecursive(realField.parentAsClass.toRawType(), lhsLocId, lhsId, -1, callable, exprParent.enclosingStmt)
}
}
else -> {

View File

@@ -71,7 +71,8 @@ A.kt:
# 19| 0: [VarAccess] Enu.A
# 19| -1: [TypeAccess] Enu
# 20| 2: [ReturnStmt] return ...
# 20| 0: [VarAccess] x
# 20| 0: [VarAccess] B.x
# 20| -1: [TypeAccess] B
# 23| 11: [Class] Enu
# 0| 1: [Method] values
# 0| 3: [TypeAccess] Enu[]