Allow Object members on unknown types

This commit is contained in:
sergeych committed 2026-02-04 03:40:07 +03:00
1 parent 47654aee38
commit 1fab2702dd
7 files changed
+34 -35

No files matched your search

@@ -2027,10 +2027,14 @@ class BytecodeCompiler(
private fun compileFieldRef(ref: FieldRef): CompiledValue? {
val receiverClass = resolveReceiverClass(ref.target)
?: throw BytecodeCompileException(
"Member access requires compile-time receiver type: ${ref.name}",
Pos.builtIn
)
?: if (isAllowedObjectMember(ref.name)) {
Obj.rootObjectType
} else {
throw BytecodeCompileException(
"Member access requires compile-time receiver type: ${ref.name}",
Pos.builtIn
)
}
val fieldId = receiverClass.instanceFieldIdMap()[ref.name]
val methodId = receiverClass.instanceMethodIdMap(includeAbstract = true)[ref.name]
val receiver = compileRefWithFallback(ref.target, null, Pos.builtIn) ?: return null