From ff6bb1f41f8cdf2de469a161acdd8365ad6ae1f3 Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Thu, 14 Sep 2017 09:11:01 +1000 Subject: Allow result field name to be externally specified --- src/main/scala/scala/async/internal/FutureSystem.scala | 1 + src/main/scala/scala/async/internal/TransformUtils.scala | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/scala/scala/async/internal/FutureSystem.scala b/src/main/scala/scala/async/internal/FutureSystem.scala index b248744..c1d72f2 100644 --- a/src/main/scala/scala/async/internal/FutureSystem.scala +++ b/src/main/scala/scala/async/internal/FutureSystem.scala @@ -77,6 +77,7 @@ trait FutureSystem { def freshenAllNames: Boolean = false def emitTryCatch: Boolean = true + def resultFieldName: String = "result" } object ScalaConcurrentFutureSystem extends FutureSystem { diff --git a/src/main/scala/scala/async/internal/TransformUtils.scala b/src/main/scala/scala/async/internal/TransformUtils.scala index 1c0b625..1720815 100644 --- a/src/main/scala/scala/async/internal/TransformUtils.scala +++ b/src/main/scala/scala/async/internal/TransformUtils.scala @@ -25,7 +25,7 @@ private[async] trait TransformUtils { val completed = newTermName("completed") val state = newTermName("state") - val result = newTermName("result") + val result = newTermName(self.futureSystem.resultFieldName) val execContext = newTermName("execContext") val tr = newTermName("tr") val t = newTermName("throwable") @@ -38,7 +38,7 @@ private[async] trait TransformUtils { def completed = maybeFresh(baseNames.completed) val state = maybeFresh(baseNames.state) - val result = maybeFresh(baseNames.result) + val result = baseNames.result val execContext = maybeFresh(baseNames.execContext) val tr = maybeFresh(baseNames.tr) val t = maybeFresh(baseNames.t) -- cgit v1.2.3