Skip to content

Commit 1781a17

Browse files
committed
Optimize importedSymbol
Call TypeName.toTermName less frequently.
1 parent 8dfab21 commit 1781a17

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/compiler/scala/tools/nsc/typechecker/Contexts.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1532,10 +1532,13 @@ trait Contexts { self: Analyzer =>
15321532
var selectors = tree.selectors
15331533
@inline def current = selectors.head
15341534
while ((selectors ne Nil) && result == NoSymbol) {
1535-
if (current.rename == name.toTermName)
1535+
def sameName(name: Name, other: Name) = {
1536+
(name ne null) && name.start == other.start && name == other.toTermName // OPT
1537+
}
1538+
if (sameName(current.rename, name))
15361539
result = qual.tpe.nonLocalMember( // new to address #2733: consider only non-local members for imports
15371540
if (name.isTypeName) current.name.toTypeName else current.name)
1538-
else if (current.name == name.toTermName)
1541+
else if (sameName(current.name, name))
15391542
renamed = true
15401543
else if (current.name == nme.WILDCARD && !renamed && !requireExplicit)
15411544
result = qual.tpe.nonLocalMember(name)

0 commit comments

Comments
 (0)