@@ -177,25 +177,26 @@ object Contexts {
177
177
/** The new implicit references that are introduced by this scope */
178
178
private var implicitsCache : ContextualImplicits = null
179
179
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
198
198
}
199
+ }
199
200
implicitsCache
200
201
}
201
202
0 commit comments