summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/ant/sabbus/Settings.scala2
-rw-r--r--src/compiler/scala/tools/nsc/CompilerCommand.scala2
-rw-r--r--src/compiler/scala/tools/nsc/Global.scala2
-rw-r--r--src/compiler/scala/tools/nsc/Interpreter.scala2
-rw-r--r--src/compiler/scala/tools/nsc/Main.scala2
-rw-r--r--src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala2
-rw-r--r--src/compiler/scala/tools/nsc/ast/Trees.scala2
-rwxr-xr-xsrc/compiler/scala/tools/nsc/ast/parser/Scanners.scala2
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala2
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/Checkers.scala2
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/ICodes.scala2
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala2
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala12
-rw-r--r--src/compiler/scala/tools/nsc/doc/ModelExtractor.scala4
-rw-r--r--src/compiler/scala/tools/nsc/matching/ParallelMatching.scala2
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Definitions.scala2
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Names.scala4
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Symbols.scala2
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Types.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala2
-rw-r--r--src/compiler/scala/tools/nsc/transform/Erasure.scala2
-rw-r--r--src/compiler/scala/tools/nsc/transform/LambdaLift.scala6
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala14
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Implicits.scala8
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala9
26 files changed, 48 insertions, 50 deletions
diff --git a/src/compiler/scala/tools/ant/sabbus/Settings.scala b/src/compiler/scala/tools/ant/sabbus/Settings.scala
index ccc8448f88..6f22ad91e5 100644
--- a/src/compiler/scala/tools/ant/sabbus/Settings.scala
+++ b/src/compiler/scala/tools/ant/sabbus/Settings.scala
@@ -72,7 +72,7 @@ class Settings {
(if (!encodingBf.isEmpty) "-encoding" :: encoding :: Nil else Nil) :::
(if (!targetBf.isEmpty) "-target:"+target :: Nil else Nil) :::
(if (optimiseBf) "-optimise" :: Nil else Nil) :::
- (if (!moreBf.isEmpty) List.fromString(more, ' ') else Nil)
+ (if (!moreBf.isEmpty) (more split ' ').toList else Nil)
override def equals(that: Any): Boolean = that match {
case cs: Settings =>
diff --git a/src/compiler/scala/tools/nsc/CompilerCommand.scala b/src/compiler/scala/tools/nsc/CompilerCommand.scala
index 4b98f0ada1..ec564f17db 100644
--- a/src/compiler/scala/tools/nsc/CompilerCommand.scala
+++ b/src/compiler/scala/tools/nsc/CompilerCommand.scala
@@ -33,7 +33,7 @@ class CompilerCommand(
val cmdName = "scalac"
private val helpSyntaxColumnWidth: Int =
- Iterable.max(settings.allSettings map (_.helpSyntax.length))
+ (settings.allSettings map (_.helpSyntax.length)) max
private def format(s: String): String = {
val buf = new StringBuilder(s)
diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala
index 315d09d54f..02d65d7e05 100644
--- a/src/compiler/scala/tools/nsc/Global.scala
+++ b/src/compiler/scala/tools/nsc/Global.scala
@@ -977,7 +977,7 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
private def writeICode() {
val printer = new icodes.TextPrinter(null, icodes.linearizer)
- icodes.classes.values.foreach((cls) => {
+ icodes.classes.valuesIterator.foreach((cls) => {
val suffix = if (cls.symbol hasFlag Flags.MODULE) "$.icode" else ".icode"
var file = getFile(cls.symbol, suffix)
// if (file.exists())
diff --git a/src/compiler/scala/tools/nsc/Interpreter.scala b/src/compiler/scala/tools/nsc/Interpreter.scala
index 2163c39fd9..3f44bcdf9b 100644
--- a/src/compiler/scala/tools/nsc/Interpreter.scala
+++ b/src/compiler/scala/tools/nsc/Interpreter.scala
@@ -217,7 +217,7 @@ class Interpreter(val settings: Settings, out: PrintWriter)
/** Indent some code by the width of the scala> prompt.
* This way, compiler error messages read better.
*/
- private final val spaces = List.make(7, " ").mkString
+ private final val spaces = List.fill(7)(" ").mkString
def indentCode(code: String) =
stringFrom(str =>
for (line <- code.lines) {
diff --git a/src/compiler/scala/tools/nsc/Main.scala b/src/compiler/scala/tools/nsc/Main.scala
index e78ab615f7..91129d5fb8 100644
--- a/src/compiler/scala/tools/nsc/Main.scala
+++ b/src/compiler/scala/tools/nsc/Main.scala
@@ -36,7 +36,7 @@ object Main extends AnyRef with EvalLoop {
def resident(compiler: Global) {
loop { line =>
- val args = List.fromString(line, ' ')
+ val args = line.split(' ').toList
val command = new CompilerCommand(args, new Settings(error), error, true)
new compiler.Run() compile command.files
}
diff --git a/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala b/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
index eb46e93d73..701fd9401e 100644
--- a/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
@@ -112,7 +112,7 @@ abstract class TreeBrowsers {
def isLeaf(node: Any): Boolean = packChildren(node).length == 0
def removeTreeModelListener(l: TreeModelListener): Unit =
- listeners remove (x => x == l)
+ listeners filterNot (_ == l)
/** we ignore this message for now */
def valueForPathChanged(path: TreePath, newValue: Any) = ()
diff --git a/src/compiler/scala/tools/nsc/ast/Trees.scala b/src/compiler/scala/tools/nsc/ast/Trees.scala
index 5d922a3eda..9d5cf7125b 100644
--- a/src/compiler/scala/tools/nsc/ast/Trees.scala
+++ b/src/compiler/scala/tools/nsc/ast/Trees.scala
@@ -181,7 +181,7 @@ trait Trees {
case xs: List[_] => xs flatMap subtrees
case _ => List()
}
- productElements.toList flatMap subtrees
+ productIterator.toList flatMap subtrees
}
override def toString(): String = {
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala b/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
index 518cca0c9d..237394a7f1 100755
--- a/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
@@ -931,7 +931,7 @@ trait Scanners {
{ // initialization
enterKeywords()
// Build keyword array
- keyCode = Array.make(maxKey + 1, IDENTIFIER)
+ keyCode = Array.fill(maxKey + 1)(IDENTIFIER)
for (j <- 0 until tokenCount if keyName(j) ne null)
keyCode(keyName(j).start) = j.toByte
}
diff --git a/src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala b/src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala
index 3f77ca5ae6..db70eb34df 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala
@@ -194,7 +194,7 @@ abstract class SymbolicXMLBuilder(p: Parsers#Parser, preserveWS: Boolean)
/** Extract all the namespaces from the attribute map. */
val namespaces: List[Tree] =
- for (z <- attrMap.keys.toList ; if z startsWith xmlns) yield {
+ for (z <- attrMap.keysIterator.toList ; if z startsWith xmlns) yield {
val ns = splitPrefix(z) match {
case (Some(_), rest) => rest
case _ => null
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala b/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala
index 51fca5f8ac..9ad4a9a5a7 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala
@@ -74,7 +74,7 @@ abstract class Checkers {
def checkICodes: Unit = {
if (settings.verbose.value)
println("[[consistency check at the beginning of phase " + globalPhase.name + "]]")
- classes.values foreach check
+ classes.valuesIterator foreach check
}
def check(cls: IClass) {
diff --git a/src/compiler/scala/tools/nsc/backend/icode/ICodes.scala b/src/compiler/scala/tools/nsc/backend/icode/ICodes.scala
index 000f2085c6..af4a3bd47b 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/ICodes.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/ICodes.scala
@@ -55,7 +55,7 @@ abstract class ICodes extends AnyRef
val printer = new TextPrinter(new PrintWriter(Console.out, true),
new DumpLinearizer)
- classes.values foreach { c => printer.printClass(c) }
+ classes.valuesIterator foreach printer.printClass
}
object liveness extends Liveness {
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala b/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala
index 7351e4d05f..1bffe56289 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala
@@ -389,7 +389,7 @@ trait Opcodes { self: ICodes =>
override def toString(): String ="CREATE_ARRAY "+elem.toString() + " x " + dims;
override def consumed = dims;
- override def consumedTypes = List.make(dims, INT)
+ override def consumedTypes = List.fill(dims)(INT)
override def produced = 1;
}
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
index dcecbcbf80..b5fa98f91e 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
@@ -49,7 +49,7 @@ abstract class GenJVM extends SubComponent {
if (settings.Xdce.value)
icodes.classes.retain { (sym: Symbol, cls: IClass) => !inliner.isClosureClass(sym) || deadCode.liveClosures(sym) }
- classes.values foreach apply
+ classes.valuesIterator foreach apply
}
override def apply(cls: IClass) {
@@ -383,7 +383,7 @@ abstract class GenJVM extends SubComponent {
case ArrayAnnotArg(args) =>
buf.put('['.toByte)
buf.putShort(args.length.toShort)
- for (val elem <- args) emitArgument(elem)
+ args foreach emitArgument
case NestedAnnotArg(annInfo) =>
buf.put('@'.toByte)
diff --git a/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala b/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala
index cbfa4161bd..360baf0a8c 100644
--- a/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala
+++ b/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala
@@ -45,15 +45,15 @@ abstract class GenMSIL extends SubComponent {
val codeGenerator = new BytecodeGenerator
//classes is ICodes.classes, a HashMap[Symbol, IClass]
- classes.values foreach codeGenerator.findEntryPoint
+ classes.valuesIterator foreach codeGenerator.findEntryPoint
codeGenerator.initAssembly
- classes.values foreach codeGenerator.createTypeBuilder
- classes.values foreach codeGenerator.createClassMembers
+ classes.valuesIterator foreach codeGenerator.createTypeBuilder
+ classes.valuesIterator foreach codeGenerator.createClassMembers
try {
- classes.values foreach codeGenerator.genClass
+ classes.valuesIterator foreach codeGenerator.genClass
} finally {
codeGenerator.writeAssembly
}
@@ -464,7 +464,7 @@ abstract class GenMSIL extends SubComponent {
}
private def createTypes() {
- for (sym <- classes.keys) {
+ for (sym <- classes.keysIterator) {
val iclass = classes(sym)
val tBuilder = types(sym.asInstanceOf[clrTypes.global.Symbol]).asInstanceOf[TypeBuilder]
@@ -1141,7 +1141,7 @@ abstract class GenMSIL extends SubComponent {
})
// take care of order in which exHInstructions are executed (BeginExceptionBlock as last)
- bb2exHInstructions.keys.foreach((b) => {
+ bb2exHInstructions.keysIterator.foreach((b) => {
bb2exHInstructions(b).sort((i1, i2) => (!i1.isInstanceOf[BeginExceptionBlock]))
})
diff --git a/src/compiler/scala/tools/nsc/doc/ModelExtractor.scala b/src/compiler/scala/tools/nsc/doc/ModelExtractor.scala
index 7ab7d57d12..94793dda2e 100644
--- a/src/compiler/scala/tools/nsc/doc/ModelExtractor.scala
+++ b/src/compiler/scala/tools/nsc/doc/ModelExtractor.scala
@@ -177,7 +177,7 @@ trait ModelExtractor {
override def typeParams = csym.typeParams.map(TypeParam)
override def valueParams = {
if (constructorArgs.isEmpty) Nil
- else constructorArgs.values.toList :: Nil
+ else constructorArgs.valuesIterator.toList :: Nil
}
def isTrait = csym.isTrait
override def kind = if (sym.isTrait) "trait" else "class"
@@ -255,7 +255,7 @@ trait ModelExtractor {
}
});
}
- def members0(f: Symbol => Boolean) = decls.filterKeys(f).values.toList
+ def members0(f: Symbol => Boolean) = decls.filterKeys(f).valuesIterator.toList
def members(c: Category): Iterable[Member] = members0(c.f)
object inherited extends mutable.LinkedHashMap[Symbol, List[Member]]() {
override def default(tpe: Symbol) = Nil
diff --git a/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala b/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala
index b5c242ccd2..de8c005afa 100644
--- a/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala
+++ b/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala
@@ -1036,7 +1036,7 @@ trait ParallelMatching extends ast.TreeDSL {
val newPats: List[Tree] = List.map2(pat, pat.indices.toList)(classifyPat)
// expand alternatives if any are present
- (newPats findIndexOf isAlternative) match {
+ (newPats indexWhere isAlternative) match {
case -1 => List(replace(newPats))
case index =>
val (prefix, alts :: suffix) = newPats splitAt index
diff --git a/src/compiler/scala/tools/nsc/symtab/Definitions.scala b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
index 1a7ca0294d..a51bb31bd4 100644
--- a/src/compiler/scala/tools/nsc/symtab/Definitions.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
@@ -497,7 +497,7 @@ trait Definitions {
}
/** Test whether a method symbol is that of a boxing method. */
- def isBox(m: Symbol) = (boxMethod.values contains m) && cond(m.tpe) {
+ def isBox(m: Symbol) = (boxMethod.valuesIterator contains m) && cond(m.tpe) {
case MethodType(List(arg), _) => cond(boxMethod get arg.tpe.typeSymbol) {
case Some(`m`) => true
}
diff --git a/src/compiler/scala/tools/nsc/symtab/Names.scala b/src/compiler/scala/tools/nsc/symtab/Names.scala
index a4a4df5326..3dcff5da0b 100644
--- a/src/compiler/scala/tools/nsc/symtab/Names.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Names.scala
@@ -95,7 +95,7 @@ class Names {
md5.update(bytes, 0, len)
val hash = md5.digest()
val sb = new StringBuilder
- sb.append(cs, 0, prefixSuffixLen)
+ sb.appendAll(cs, 0, prefixSuffixLen)
sb.append("$$$$")
for (i <- 0 until hash.length) {
val b = hash(i)
@@ -103,7 +103,7 @@ class Names {
sb.append((b & 0xF).toHexString)
}
sb.append("$$$$")
- sb.append(cs, len - prefixSuffixLen, prefixSuffixLen)
+ sb.appendAll(cs, len - prefixSuffixLen, prefixSuffixLen)
sb.toString
}
diff --git a/src/compiler/scala/tools/nsc/symtab/Symbols.scala b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
index e4696339bc..192d3a2bb7 100644
--- a/src/compiler/scala/tools/nsc/symtab/Symbols.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
@@ -133,7 +133,7 @@ trait Symbols {
/** Remove all annotations matching the given class. */
def removeAnnotation(cls: Symbol): Unit =
- setAnnotations(annotations.remove(_.atp.typeSymbol == cls))
+ setAnnotations(annotations filterNot (_.atp.typeSymbol == cls))
/** set when symbol has a modifier of the form private[X], NoSymbol otherwise.
* Here's some explanation how privateWithin gets combined with access flags:
diff --git a/src/compiler/scala/tools/nsc/symtab/Types.scala b/src/compiler/scala/tools/nsc/symtab/Types.scala
index aa1b74080a..a12ae3a03d 100644
--- a/src/compiler/scala/tools/nsc/symtab/Types.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Types.scala
@@ -3019,9 +3019,8 @@ A type's typeSymbol should never be inspected directly.
class InstantiateDeBruijnMap(actuals: List[Type]) extends TypeMap {
override val dropNonConstraintAnnotations = true
-
private var existSyms = immutable.Map.empty[Int, Symbol]
- def existentialsNeeded: List[Symbol] = existSyms.values.toList
+ def existentialsNeeded: List[Symbol] = existSyms.valuesIterator.toList
/* Return the type symbol for referencing a parameter index
* inside the existential quantifier. */
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
index 4a9eb4cdfd..3f55a2e908 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
@@ -900,7 +900,7 @@ abstract class ClassfileParser {
}
}
- for (entry <- innerClasses.values) {
+ for (entry <- innerClasses.valuesIterator) {
// create a new class member for immediate inner classes
if (entry.outerName == externalName) {
val file = global.classPath.lookupPath(
diff --git a/src/compiler/scala/tools/nsc/transform/Erasure.scala b/src/compiler/scala/tools/nsc/transform/Erasure.scala
index cee97f486d..fa796c4ab7 100644
--- a/src/compiler/scala/tools/nsc/transform/Erasure.scala
+++ b/src/compiler/scala/tools/nsc/transform/Erasure.scala
@@ -874,7 +874,7 @@ abstract class Erasure extends AddInterfaces with typechecker.Analyzer with ast.
else {
val (bridges, toBeRemoved) = bridgeDefs(base)
if (bridges.isEmpty) stats
- else (stats remove (stat => toBeRemoved contains stat.symbol)) ::: bridges
+ else (stats filterNot (stat => toBeRemoved contains stat.symbol)) ::: bridges
}
/** <p>
diff --git a/src/compiler/scala/tools/nsc/transform/LambdaLift.scala b/src/compiler/scala/tools/nsc/transform/LambdaLift.scala
index 19db00ae33..f582ac3632 100644
--- a/src/compiler/scala/tools/nsc/transform/LambdaLift.scala
+++ b/src/compiler/scala/tools/nsc/transform/LambdaLift.scala
@@ -245,7 +245,7 @@ abstract class LambdaLift extends InfoTransform {
do {
changedFreeVars = false
- for (caller <- called.keys;
+ for (caller <- called.keysIterator;
callee <- called(caller).iterator;
fv <- freeVars(callee))
markFree(fv, caller)
@@ -262,7 +262,7 @@ abstract class LambdaLift extends InfoTransform {
}
atPhase(phase.next) {
- for (owner <- free.keys) {
+ for (owner <- free.keysIterator) {
if (settings.debug.value)
log("free(" + owner + owner.locationString + ") = " + free(owner).iterator.toList);
proxies(owner) =
@@ -427,7 +427,7 @@ abstract class LambdaLift extends InfoTransform {
override def transformUnit(unit: CompilationUnit) {
computeFreeVars
atPhase(phase.next)(super.transformUnit(unit))
- assert(liftedDefs.size == 0, liftedDefs.keys.toList)
+ assert(liftedDefs.size == 0, liftedDefs.keysIterator.toList)
}
} // class LambdaLifter
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
index 736bd6d879..5404e58992 100644
--- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
+++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
@@ -251,7 +251,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
primitiveTypes.get(t.trim) match {
case Some(tpe) => buf += tpe
case None =>
- error("Invalid type " + t + ". Expected one of " + primitiveTypes.keys.mkString("", ", ", "."))
+ error("Invalid type " + t + ". Expected one of " + primitiveTypes.keysIterator.mkString("", ", ", "."))
}
buf.toList
}
@@ -269,7 +269,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
tpes
case _ =>
log(sym + " specialized on everything")
- primitiveTypes.values.toList
+ primitiveTypes.valuesIterator.toList
}
case _ =>
Nil
@@ -300,7 +300,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
private def needsSpecialization(env: TypeEnv, sym: Symbol): Boolean = {
def needsIt(tpe: Type): Boolean = tpe match {
case TypeRef(pre, sym, args) =>
- (env.keys.contains(sym)
+ (env.keysIterator.contains(sym)
|| (args exists needsIt))
case PolyType(tparams, resTpe) => needsIt(resTpe)
case MethodType(argTpes, resTpe) =>
@@ -555,8 +555,8 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
if (sym.isMethod && !sym.info.typeParams.isEmpty) {
val (stps, tps) = splitParams(sym.info.typeParams)
val res = sym :: (for (env <- specializations(stps) if needsSpecialization(env, sym)) yield {
- val keys = env.keys.toList;
- val vals = env.values.toList
+ val keys = env.keysIterator.toList;
+ val vals = env.valuesIterator.toList
val specMember = sym.cloneSymbol(owner).setFlag(SPECIALIZED).resetFlag(DEFERRED)
specMember.name = specializedName(sym, env)
@@ -1172,11 +1172,11 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
/** Create specialized class definitions */
def implSpecClasses(trees: List[Tree]): List[Tree] = {
val buf = new mutable.ListBuffer[Tree]
- for (val tree <- trees)
+ for (tree <- trees)
tree match {
case ClassDef(_, _, _, impl) =>
tree.symbol.info // force specialization
- for (val ((sym1, env), specCls) <- specializedClass if sym1 == tree.symbol)
+ for (((sym1, env), specCls) <- specializedClass if sym1 == tree.symbol)
buf +=
ClassDef(specCls, Template(specCls.info.parents map TypeTree, emptyValDef, List())
.setSymbol(specCls.newLocalDummy(sym1.pos)))
diff --git a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
index 39d34ca45b..2bd507ae2d 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
@@ -57,7 +57,7 @@ self: Analyzer =>
if (traceImplicits && !tree.isEmpty && !context.undetparams.isEmpty)
println("typing implicit with undetermined type params: "+context.undetparams+"\n"+tree)
val result = new ImplicitSearch(tree, pt, isView, context.makeImplicit(reportAmbiguous)).bestImplicit
- context.undetparams = context.undetparams remove (result.subst.from contains _)
+ context.undetparams = context.undetparams filterNot (result.subst.from contains _)
result
}
@@ -469,7 +469,7 @@ self: Analyzer =>
}
/** A candidate for best applicable info wrt `improves` */
- val best = (NoImplicitInfo /: applicable.keys) (
+ val best = (NoImplicitInfo /: applicable.keysIterator) (
(best, alt) => if (improves(alt, best)) alt else best)
if (best == NoImplicitInfo) SearchFailure
else {
@@ -564,7 +564,7 @@ self: Analyzer =>
case List() => ts
case (t @ TypeRef(pre, _, _)) :: ts1 =>
if (ts1 exists (_.prefix <:< pre)) compactify(ts1)
- else t :: compactify(ts1 remove (pre <:< _.prefix))
+ else t :: compactify(ts1 filterNot (pre <:< _.prefix))
}
getParts(tp)
for ((k, ts) <- partMap.iterator.toList; t <- compactify(ts)) yield t
@@ -726,7 +726,7 @@ self: Analyzer =>
def allImplicits: List[SearchResult] = {
val invalidImplicits = new ListBuffer[Symbol]
def search(iss: List[List[ImplicitInfo]], isLocal: Boolean) =
- applicableInfos(iss, isLocal, invalidImplicits).values.toList
+ applicableInfos(iss, isLocal, invalidImplicits).valuesIterator.toList
search(context.implicitss, true) ::: search(implicitsOfExpectedType, false)
}
}
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 3402fb3aab..2a5d77ee50 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -1497,9 +1497,8 @@ trait Typers { self: Analyzer =>
val meth = ddef.symbol
reenterTypeParams(ddef.tparams)
reenterValueParams(ddef.vparamss)
- val tparams1 = ddef.tparams mapConserve (typedTypeDef)
- val vparamss1 = List.mapConserve(ddef.vparamss)(vparams1 =>
- vparams1 mapConserve (typedValDef))
+ val tparams1 = ddef.tparams mapConserve typedTypeDef
+ val vparamss1 = ddef.vparamss mapConserve (_ mapConserve typedValDef)
for (vparams1 <- vparamss1; if !vparams1.isEmpty; vparam1 <- vparams1.init) {
if (vparam1.symbol.tpe.typeSymbol == RepeatedParamClass)
error(vparam1.pos, "*-parameter must come last")
@@ -1657,7 +1656,7 @@ trait Typers { self: Analyzer =>
def typedCases(tree: Tree, cases: List[CaseDef], pattp0: Type, pt: Type): List[CaseDef] = {
var pattp = pattp0
- List.mapConserve(cases) ( cdef =>
+ cases mapConserve (cdef =>
newTyper(context.makeNewScope(cdef, context.owner)(TypedCasesScopeKind))
.typedCase(cdef, pattp, pt))
/* not yet!
@@ -3410,7 +3409,7 @@ trait Typers { self: Analyzer =>
// @M: kind-arity checking is done here and in adapt, full kind-checking is in checkKindBounds (in Infer)
val args1 =
if(!tpt1.symbol.rawInfo.isComplete)
- List.mapConserve(args){(x: Tree) => typedHigherKindedType(x, mode)}
+ args mapConserve (typedHigherKindedType(_, mode))
// if symbol hasn't been fully loaded, can't check kind-arity
else map2Conserve(args, tparams) {
(arg, tparam) =>