summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormihaylov <mihaylov@epfl.ch>2005-03-01 18:41:32 +0000
committermihaylov <mihaylov@epfl.ch>2005-03-01 18:41:32 +0000
commitf8c47c369ed0254ea3bda3366b9902b1a3dd5ba2 (patch)
tree7ea57afed70eea7866a9920ac686bde47d918095
parentd389d624970bda2822d22182dbf0f7269f4c6a61 (diff)
downloadscala-f8c47c369ed0254ea3bda3366b9902b1a3dd5ba2.tar.gz
scala-f8c47c369ed0254ea3bda3366b9902b1a3dd5ba2.tar.bz2
scala-f8c47c369ed0254ea3bda3366b9902b1a3dd5ba2.zip
- Correctly differentiate between methods that ...
- Correctly differentiate between methods that differ only in the return type
-rw-r--r--sources/scalac/backend/msil/TypeCreator.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/sources/scalac/backend/msil/TypeCreator.java b/sources/scalac/backend/msil/TypeCreator.java
index 48d82735a8..5666ee0730 100644
--- a/sources/scalac/backend/msil/TypeCreator.java
+++ b/sources/scalac/backend/msil/TypeCreator.java
@@ -925,6 +925,7 @@ final class TypeCreator {
switch (sym.info()) {
case MethodType(Symbol[] vparams, scalac.symtab.Type result):
Type[] params = new Type[vparams.length];
+ Type resType = getType(result);
for (int i = 0; i < params.length; i++)
params[i] = getType(vparams[i]);
if (sym.isInitializer()) {
@@ -936,7 +937,8 @@ final class TypeCreator {
} else {
method = owner instanceof TypeBuilder
? findMethod(sym.owner(), sym)
- : owner.GetMethod(getMethodName(sym.name, params), params);
+ : owner.GetMethod
+ (getMethodName(sym.name, params), params, resType);
}
break;
default: