aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2017-03-12 10:50:35 +0100
committerMartin Odersky <odersky@gmail.com>2017-03-14 12:05:29 +0100
commit6ec9fa443679acbd1cbfa4775debbd2ba6420a41 (patch)
tree28df82635c2941af57fd4f4d4a50f5323db6284c
parent86bf552cd421288b00525eb1a264652ee32d742d (diff)
downloaddotty-6ec9fa443679acbd1cbfa4775debbd2ba6420a41.tar.gz
dotty-6ec9fa443679acbd1cbfa4775debbd2ba6420a41.tar.bz2
dotty-6ec9fa443679acbd1cbfa4775debbd2ba6420a41.zip
Drop mixed MethodType apply method
The dropped method takes direct parameter types but a result type expression. Since parameter types are now in general dependent as well, that method is mostly redundant.
-rw-r--r--compiler/src/dotty/tools/dotc/core/Symbols.scala2
-rw-r--r--compiler/src/dotty/tools/dotc/core/Types.scala6
-rw-r--r--compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala2
-rw-r--r--compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala3
-rw-r--r--compiler/src/dotty/tools/dotc/transform/FullParameterization.scala5
5 files changed, 9 insertions, 9 deletions
diff --git a/compiler/src/dotty/tools/dotc/core/Symbols.scala b/compiler/src/dotty/tools/dotc/core/Symbols.scala
index 9d1d6481d..33aba4d13 100644
--- a/compiler/src/dotty/tools/dotc/core/Symbols.scala
+++ b/compiler/src/dotty/tools/dotc/core/Symbols.scala
@@ -252,7 +252,7 @@ trait Symbols { this: Context =>
/** Create a class constructor symbol for given class `cls`. */
def newConstructor(cls: ClassSymbol, flags: FlagSet, paramNames: List[TermName], paramTypes: List[Type], privateWithin: Symbol = NoSymbol, coord: Coord = NoCoord) =
- newSymbol(cls, nme.CONSTRUCTOR, flags | Method, MethodType(paramNames, paramTypes)(_ => cls.typeRef), privateWithin, coord)
+ newSymbol(cls, nme.CONSTRUCTOR, flags | Method, MethodType(paramNames, paramTypes, cls.typeRef), privateWithin, coord)
/** Create an empty default constructor symbol for given class `cls`. */
def newDefaultConstructor(cls: ClassSymbol) =
diff --git a/compiler/src/dotty/tools/dotc/core/Types.scala b/compiler/src/dotty/tools/dotc/core/Types.scala
index c34798161..cd0304140 100644
--- a/compiler/src/dotty/tools/dotc/core/Types.scala
+++ b/compiler/src/dotty/tools/dotc/core/Types.scala
@@ -2470,12 +2470,10 @@ object Types {
abstract class MethodTypeCompanion {
def apply(paramNames: List[TermName])(paramTypesExp: MethodType => List[Type], resultTypeExp: MethodType => Type)(implicit ctx: Context): MethodType
- def apply(paramNames: List[TermName], paramTypes: List[Type])(resultTypeExp: MethodType => Type)(implicit ctx: Context): MethodType =
- apply(paramNames)(_ => paramTypes, resultTypeExp)
def apply(paramNames: List[TermName], paramTypes: List[Type], resultType: Type)(implicit ctx: Context): MethodType =
- apply(paramNames, paramTypes)(_ => resultType)
+ apply(paramNames)(_ => paramTypes, _ => resultType)
def apply(paramTypes: List[Type])(resultTypeExp: MethodType => Type)(implicit ctx: Context): MethodType =
- apply(nme.syntheticParamNames(paramTypes.length), paramTypes)(resultTypeExp)
+ apply(nme.syntheticParamNames(paramTypes.length))(_ => paramTypes, resultTypeExp)
def apply(paramTypes: List[Type], resultType: Type)(implicit ctx: Context): MethodType =
apply(nme.syntheticParamNames(paramTypes.length), paramTypes, resultType)
diff --git a/compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala b/compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala
index bfb4daa71..bc140c26b 100644
--- a/compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala
+++ b/compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala
@@ -339,7 +339,7 @@ class ClassfileParser(
}
index += 1
val restype = sig2type(tparams, skiptvs)
- JavaMethodType(paramnames.toList, paramtypes.toList)(_ => restype)
+ JavaMethodType(paramnames.toList, paramtypes.toList, restype)
case 'T' =>
val n = subName(';'.==).toTypeName
index += 1
diff --git a/compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala b/compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala
index fdb8a97ae..0c38b9ddf 100644
--- a/compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala
+++ b/compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala
@@ -278,7 +278,8 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table, posUnpickle
result
case METHODtype =>
val (names, paramReader) = readNamesSkipParams
- val result = MethodType(names.map(_.toTermName), paramReader.readParamTypes[Type](end))(
+ val result = MethodType(names.map(_.toTermName))(
+ mt => paramReader.readParamTypes[Type](end), // !!!
mt => registeringType(mt, readType()))
goto(end)
result
diff --git a/compiler/src/dotty/tools/dotc/transform/FullParameterization.scala b/compiler/src/dotty/tools/dotc/transform/FullParameterization.scala
index faf62952e..0cb453b4c 100644
--- a/compiler/src/dotty/tools/dotc/transform/FullParameterization.scala
+++ b/compiler/src/dotty/tools/dotc/transform/FullParameterization.scala
@@ -105,8 +105,9 @@ trait FullParameterization {
def resultType(mapClassParams: Type => Type) = {
val thisParamType = mapClassParams(clazz.classInfo.selfType)
val firstArgType = if (liftThisType) thisParamType & clazz.thisType else thisParamType
- MethodType(nme.SELF :: Nil, firstArgType :: Nil)(mt =>
- mapClassParams(origResult).substThisUnlessStatic(clazz, MethodParam(mt, 0)))
+ MethodType(nme.SELF :: Nil)(
+ mt => firstArgType :: Nil,
+ mt => mapClassParams(origResult).substThisUnlessStatic(clazz, MethodParam(mt, 0)))
}
/** Replace class type parameters by the added type parameters of the polytype `pt` */