diff options
author | Martin Odersky <odersky@gmail.com> | 2011-02-11 17:16:16 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2011-02-11 17:16:16 +0000 |
commit | 02435237ac075fdd681fcd7d79faa6f2e7581c44 (patch) | |
tree | 5a38bc1f4a0dda6253bcfa5892dc764e5a95084c | |
parent | 7b7d17757177579319d2efa1fd94cea218ad8780 (diff) | |
download | scala-02435237ac075fdd681fcd7d79faa6f2e7581c44.tar.gz scala-02435237ac075fdd681fcd7d79faa6f2e7581c44.tar.bz2 scala-02435237ac075fdd681fcd7d79faa6f2e7581c44.zip |
Fixed persistent error that was caused by hyper...
Fixed persistent error that was caused by hyperlinking to Array methods.
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/Symbols.scala | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Symbols.scala b/src/compiler/scala/tools/nsc/symtab/Symbols.scala index 5c43f892a5..58c87e2215 100644 --- a/src/compiler/scala/tools/nsc/symtab/Symbols.scala +++ b/src/compiler/scala/tools/nsc/symtab/Symbols.scala @@ -2050,7 +2050,16 @@ trait Symbols extends reflect.generic.Symbols { self: SymbolTable => sourceModule = module } override def sourceModule = module - lazy val implicitMembers = info.implicitMembers + private var implicitMembersCacheValue: List[Symbol] = List() + private var implicitMembersCacheKey: Type = NoType + def implicitMembers: List[Symbol] = { + val tp = info + if (implicitMembersCacheKey ne tp) { + implicitMembersCacheKey = tp + implicitMembersCacheValue = tp.implicitMembers + } + implicitMembersCacheValue + } override def sourceModule_=(module: Symbol) { this.module = module } } |