summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
Diffstat (limited to 'sources')
-rw-r--r--sources/scala/tools/scalai/ScalaTemplate.java4
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);
}