summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2011-02-11 17:16:16 +0000
committerMartin Odersky <odersky@gmail.com>2011-02-11 17:16:16 +0000
commit02435237ac075fdd681fcd7d79faa6f2e7581c44 (patch)
tree5a38bc1f4a0dda6253bcfa5892dc764e5a95084c /src
parent7b7d17757177579319d2efa1fd94cea218ad8780 (diff)
downloadscala-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.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Symbols.scala11
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 }
}