From e1e3d2664adffa59b840a9e2c0aa186034d9cd76 Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Mon, 27 Apr 2020 22:39:51 +0100 Subject: [PATCH] Fix unwrapping of far references for self sends Signed-off-by: Stefan Marr --- src/som/interpreter/actors/WrapReferenceNode.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/som/interpreter/actors/WrapReferenceNode.java b/src/som/interpreter/actors/WrapReferenceNode.java index d84fd742f..74902802e 100644 --- a/src/som/interpreter/actors/WrapReferenceNode.java +++ b/src/som/interpreter/actors/WrapReferenceNode.java @@ -13,7 +13,11 @@ public abstract class WrapReferenceNode extends Node { public abstract Object execute(Object ref, Actor target, Actor owner); - @Specialization(guards = "target == owner") + protected static final boolean notFarRef(final Object ref) { + return !(ref instanceof SFarReference); + } + + @Specialization(guards = {"target == owner", "notFarRef(ref)"}) public Object inSameActor(final Object ref, final Actor target, final Actor owner) { return ref; }