From 657b711f5f9abe25d9773481181bfa27fff40712 Mon Sep 17 00:00:00 2001 From: Nicolas Gaud Date: Fri, 27 Mar 2020 11:35:19 +0100 Subject: [PATCH] Converting a weakref into a normal one --- .../sarl/io/sarl/sre/services/lifecycle/AgentLife.sarl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sre/io.janusproject/io.janusproject.plugin/src/main/sarl/io/sarl/sre/services/lifecycle/AgentLife.sarl b/sre/io.janusproject/io.janusproject.plugin/src/main/sarl/io/sarl/sre/services/lifecycle/AgentLife.sarl index fd25bad6c7..d5448a498a 100644 --- a/sre/io.janusproject/io.janusproject.plugin/src/main/sarl/io/sarl/sre/services/lifecycle/AgentLife.sarl +++ b/sre/io.janusproject/io.janusproject.plugin/src/main/sarl/io/sarl/sre/services/lifecycle/AgentLife.sarl @@ -718,7 +718,7 @@ final class AgentLife { */ final class ContextReference implements Comparable, Cloneable { - val life : WeakReference + val life : AgentLife val contextInstance : Context @@ -733,13 +733,13 @@ final class ContextReference implements Comparable, Cloneable assert life !== null assert context !== null assert address !== null - this.life = new WeakReference(life) + this.life = life this.contextInstance = context this.defaultAddress = address } override clone : ContextReference { - new ContextReference(this.life.get, this.contextInstance, this.defaultAddress) + new ContextReference(this.life, this.contextInstance, this.defaultAddress) } override toString : String { @@ -768,8 +768,9 @@ final class ContextReference implements Comparable, Cloneable */ def getAddressInDefaultSpace : Address { if (this.defaultAddress === null) { - this.defaultAddress = this.contextInstance.defaultSpace.getAddress(this.life.get.^agent.ID) + this.defaultAddress = this.contextInstance.defaultSpace.getAddress(this.life.^agent.ID) } + assert(this.defaultAddress !== null) this.defaultAddress }