diff options
author | schinz <schinz@epfl.ch> | 2003-07-28 14:46:15 +0000 |
---|---|---|
committer | schinz <schinz@epfl.ch> | 2003-07-28 14:46:15 +0000 |
commit | 3765cc0c1199ff641451c9894530f86135d93e6d (patch) | |
tree | 8228e808ea19960db3927b28f808ef4f55c30166 /sources/scalac | |
parent | 5107585f17fd04f3b1c1263c4224793d679980cd (diff) | |
download | scala-3765cc0c1199ff641451c9894530f86135d93e6d.tar.gz scala-3765cc0c1199ff641451c9894530f86135d93e6d.tar.bz2 scala-3765cc0c1199ff641451c9894530f86135d93e6d.zip |
- bug fix: for calls to "super", use the name o...
- bug fix: for calls to "super", use the name of the super-class instead
of the name of the method owner for INVOKESPECIAL
Diffstat (limited to 'sources/scalac')
-rw-r--r-- | sources/scalac/backend/jvm/GenJVM.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sources/scalac/backend/jvm/GenJVM.java b/sources/scalac/backend/jvm/GenJVM.java index 68ba41082c..0609b5440c 100644 --- a/sources/scalac/backend/jvm/GenJVM.java +++ b/sources/scalac/backend/jvm/GenJVM.java @@ -361,7 +361,9 @@ class GenJVM { for (int i = 0; i < args.length; ++i) genLoad(ctx, args[i], argTypes[i]); - String clsName = javaName(funSym.owner()); + String clsName = isSuperCall + ? ctx.clazz.getSuperclassName() + : javaName(funSym.owner()); String mthName = funSym.name.toString(); if (funSym.owner().isInterface()) |