File tree Expand file tree Collapse file tree 2 files changed +21
-10
lines changed
compiler/src/dotty/tools/dotc/core Expand file tree Collapse file tree 2 files changed +21
-10
lines changed Original file line number Diff line number Diff line change @@ -1837,16 +1837,22 @@ object SymDenotations {
18371837 def computeMemberNames (keepOnly : NameFilter )(implicit onBehalf : MemberNames , ctx : Context ): Set [Name ] = {
18381838 var names = Set [Name ]()
18391839 def maybeAdd (name : Name ) = if (keepOnly(thisType, name)) names += name
1840- for (p <- classParents)
1841- for (name <- p.classSymbol.asClass.memberNames(keepOnly))
1842- maybeAdd(name)
1843- val ownSyms =
1844- if (keepOnly eq implicitFilter)
1845- if (this is Package ) Iterator .empty
1846- else info.decls.iterator filter (_ is Implicit )
1847- else info.decls.iterator
1848- for (sym <- ownSyms) maybeAdd(sym.name)
1849- names
1840+ try {
1841+ for (p <- classParents)
1842+ for (name <- p.classSymbol.asClass.memberNames(keepOnly))
1843+ maybeAdd(name)
1844+ val ownSyms =
1845+ if (keepOnly eq implicitFilter)
1846+ if (this is Package ) Iterator .empty
1847+ else info.decls.iterator filter (_ is Implicit )
1848+ else info.decls.iterator
1849+ for (sym <- ownSyms) maybeAdd(sym.name)
1850+ names
1851+ }
1852+ catch {
1853+ case ex : Throwable =>
1854+ handleRecursive(" member names" , i " of $this" , ex)
1855+ }
18501856 }
18511857
18521858 override final def fullNameSeparated (kind : QualifiedNameKind )(implicit ctx : Context ): Name = {
Original file line number Diff line number Diff line change 1+
2+ object O {
3+ type T [R ] = X
4+ class X extends T [Int ] // error
5+ }
You can’t perform that action at this time.
0 commit comments