Fix native image build (#1865)

PE code can't call `Object.equals`
This commit is contained in:
Daniel Chao authored and GitHub committed 2026-09-17 21:57:35 -07:00
1 parent cec08c651e
commit e0b3b87e19
1 file changed
+7 -1
@@ -15,6 +15,7 @@
*/
package org.pkl.core.ast.expression.member;
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
import com.oracle.truffle.api.dsl.Cached;
import com.oracle.truffle.api.dsl.Executed;
import com.oracle.truffle.api.dsl.ImportStatic;
@@ -53,7 +54,7 @@ public abstract class ReadSuperEntryNode extends ExpressionNode {
"getObjectReceiver(frame) == receiver",
"getOwner(frame) == initialOwner",
// fine to use `Object.equals` here because an object key is deep-forced upon lookup anyway
"key.equals(cachedKey)"
"equals(key, cachedKey)"
})
protected Object evalCached(
VirtualFrame frame,
@@ -75,6 +76,11 @@ public abstract class ReadSuperEntryNode extends ExpressionNode {
return doEval(key, receiver, ownerAndMember);
}
@TruffleBoundary
protected final boolean equals(Object obj1, Object obj2) {
return obj1.equals(obj2);
}
protected final Object doEval(
Object key,
VmObjectLike receiver,