@@ -177,25 +177,26 @@ object Contexts {
177177 /** The new implicit references that are introduced by this scope */
178178 private var implicitsCache : ContextualImplicits = null
179179 def implicits : ContextualImplicits = {
180- if (implicitsCache == null )
181- implicitsCache = {
182- val implicitRefs : List [ TermRef ] =
183- if (isClassDefContext)
184- try owner.thisType.implicitMembers
185- catch {
186- case ex : CyclicReference => Nil
187- }
188- else if (isImportContext) importInfo.importedImplicits
189- else if (isNonEmptyScopeContext) scope.implicitDecls
190- else Nil
191- val outerImplicits =
192- if (isImportContext && importInfo.hiddenRoot.exists)
193- outer.implicits exclude importInfo.hiddenRoot
194- else
195- outer.implicits
196- if (implicitRefs.isEmpty) outerImplicits
197- else new ContextualImplicits (implicitRefs, outerImplicits)( this )
180+ if (implicitsCache == null ) {
181+ val outerImplicits =
182+ if (isImportContext && importInfo.hiddenRoot.exists)
183+ outer.implicits exclude importInfo.hiddenRoot
184+ else
185+ outer.implicits
186+ try
187+ implicitsCache = {
188+ val implicitRefs : List [ TermRef ] =
189+ if (isClassDefContext) owner.thisType.implicitMembers
190+ else if (isImportContext) importInfo.importedImplicits
191+ else if (isNonEmptyScopeContext) scope.implicitDecls
192+ else Nil
193+ if (implicitRefs.isEmpty) outerImplicits
194+ else new ContextualImplicits (implicitRefs, outerImplicits)( this )
195+ }
196+ catch {
197+ case ex : CyclicReference => implicitsCache = outerImplicits
198198 }
199+ }
199200 implicitsCache
200201 }
201202
0 commit comments