diff options
author | Martin Odersky <odersky@gmail.com> | 2011-03-15 16:18:48 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2011-03-15 16:18:48 +0000 |
commit | e23435247ba5b1f0073505d90cfd031090c5c565 (patch) | |
tree | 21cb45850812a637bea813b04b3c01d948095881 | |
parent | e6a60a05a11ca365f3cd58d3ec4de92de1d86cde (diff) | |
download | scala-e23435247ba5b1f0073505d90cfd031090c5c565.tar.gz scala-e23435247ba5b1f0073505d90cfd031090c5c565.tar.bz2 scala-e23435247ba5b1f0073505d90cfd031090c5c565.zip |
Fixes problem with getLinkPos, which sometimes ...
Fixes problem with getLinkPos, which sometimes failed on first try.
-rw-r--r-- | src/compiler/scala/tools/nsc/interactive/Global.scala | 9 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/Mixin.scala | 3 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/interactive/Global.scala b/src/compiler/scala/tools/nsc/interactive/Global.scala index 3fad69821f..fd70907a57 100644 --- a/src/compiler/scala/tools/nsc/interactive/Global.scala +++ b/src/compiler/scala/tools/nsc/interactive/Global.scala @@ -71,7 +71,7 @@ class Global(settings: Settings, reporter: Reporter) SynchronizedMap[AbstractFile, RichCompilationUnit] { override def put(key: AbstractFile, value: RichCompilationUnit) = { val r = super.put(key, value) - if (r.isEmpty) debugLog("added uhnit for "+key) + if (r.isEmpty) debugLog("added unit for "+key) r } override def remove(key: AbstractFile) = { @@ -621,6 +621,7 @@ class Global(settings: Settings, reporter: Reporter) informIDE("getLinkPos "+sym+" "+source) respond(response) { val preExisting = unitOfFile isDefinedAt source.file + val originalTypeParams = sym.owner.typeParams reloadSources(List(source)) parseAndEnter(getUnit(source).get) val owner = sym.owner @@ -629,8 +630,8 @@ class Global(settings: Settings, reporter: Reporter) val newsym = pre.decl(sym.name) filter { alt => sym.isType || { try { - val tp1 = adaptToNewRunMap(pre.memberType(alt) onTypeError NoType) - val tp2 = adaptToNewRunMap(sym.tpe) + val tp1 = pre.memberType(alt) onTypeError NoType + val tp2 = adaptToNewRunMap(sym.tpe) substSym (originalTypeParams, owner.typeParams) matchesType(tp1, tp2, false) } catch { case ex: Throwable => @@ -858,7 +859,7 @@ class Global(settings: Settings, reporter: Reporter) } } - /** Parses and enteres given source file, stroring parse tree in response */ + /** Parses and enters given source file, stroring parse tree in response */ private def getParsedEnteredNow(source: SourceFile, response: Response[Tree]) { respond(response) { onUnitOf(source) { unit => diff --git a/src/compiler/scala/tools/nsc/transform/Mixin.scala b/src/compiler/scala/tools/nsc/transform/Mixin.scala index 48742f4fcd..05224ae37b 100644 --- a/src/compiler/scala/tools/nsc/transform/Mixin.scala +++ b/src/compiler/scala/tools/nsc/transform/Mixin.scala @@ -1180,8 +1180,7 @@ abstract class Mixin extends InfoTransform with ast.TreeDSL { assert(args.isEmpty) val sym1 = sym.overridingSymbol(currentOwner.enclClass) typedPos(tree.pos)((transformSuper(qual) DOT sym1)()) - } - else { + } else { staticCall(atPhase(phase.prev)(sym.overridingSymbol(implClass(sym.owner)))) } } else { |