diff options
author | Tiark Rompf <tiark.rompf@epfl.ch> | 2010-03-25 16:14:56 +0000 |
---|---|---|
committer | Tiark Rompf <tiark.rompf@epfl.ch> | 2010-03-25 16:14:56 +0000 |
commit | 1cedf8047ba9820277b2b9e546092918e6e0c7d1 (patch) | |
tree | c1bc414403baccde9a45715ec61609a456786ee1 /src/compiler/scala/tools/nsc/plugins/Plugins.scala | |
parent | 63103a5e1a4970d7984d15efe8db4c30fbb56828 (diff) | |
download | scala-1cedf8047ba9820277b2b9e546092918e6e0c7d1.tar.gz scala-1cedf8047ba9820277b2b9e546092918e6e0c7d1.tar.bz2 scala-1cedf8047ba9820277b2b9e546092918e6e0c7d1.zip |
fixed double-loading of plugins.
Diffstat (limited to 'src/compiler/scala/tools/nsc/plugins/Plugins.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/plugins/Plugins.scala | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/plugins/Plugins.scala b/src/compiler/scala/tools/nsc/plugins/Plugins.scala index 90d306614a..8a86c982d9 100644 --- a/src/compiler/scala/tools/nsc/plugins/Plugins.scala +++ b/src/compiler/scala/tools/nsc/plugins/Plugins.scala @@ -30,10 +30,10 @@ trait Plugins val dirs = (settings.pluginsDir.value split File.pathSeparator).toList map Path.apply val classes = Plugin.loadAllFrom(jars, dirs, settings.disable.value) - classes foreach (c => Plugin.instantiate(c, this)) - - for (plugClass <- Plugin.loadAllFrom(jars, dirs, settings.disable.value)) - yield Plugin.instantiate(plugClass, this) + // Lach plugin must only be instantiated once. A commong pattern + // is to register annotation checkers during object construction, so + // creating multiple plugin instances will leave behind stale checkers. s + classes map (Plugin.instantiate(_, this)) } protected lazy val roughPluginsList: List[Plugin] = loadRoughPluginsList |