diff options
Diffstat (limited to 'sources')
-rw-r--r-- | sources/scala/tools/scalai/ScalaTemplate.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sources/scala/tools/scalai/ScalaTemplate.java b/sources/scala/tools/scalai/ScalaTemplate.java index f0eac355e0..764ce47ba4 100644 --- a/sources/scala/tools/scalai/ScalaTemplate.java +++ b/sources/scala/tools/scalai/ScalaTemplate.java @@ -78,6 +78,10 @@ public class ScalaTemplate { public Object invoke(Object self, Symbol method, Object[] args) { CodePromise code = (CodePromise)vtable.get(method); + if (code == null) { + // !!! generalize use of overridingSymbol in interpreter + code = (CodePromise)vtable.get(method.overridingSymbol(symbol.thisType(), true)); + } assert code != null : Debug.show(symbol) + "->" + Debug.show(method); return evaluator.evaluate(code, self, args); } |