Skip to content

Commit 41f4497

Browse files
oderskyAdriaan Moors
authored and
Adriaan Moors
committed
Attempt #2 to optimize findMember
1 parent 1a73aa0 commit 41f4497

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

src/compiler/scala/tools/nsc/Driver.scala

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package scala.tools.nsc
22

33
import scala.tools.nsc.reporters.{Reporter, ConsoleReporter}
4-
import Properties.{ versionString, copyrightString }
4+
import Properties.{ versionString, copyrightString, residentPromptString }
55
import scala.reflect.internal.util.{ BatchSourceFile, FakePos }
66

77
abstract class Driver {
8+
9+
val prompt = residentPromptString
810

911
val versionMsg = "Scala compiler " +
1012
versionString + " -- " +

src/compiler/scala/tools/nsc/Main.scala

+2-4
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,13 @@ import scala.tools.nsc.interactive.{ RefinedBuildManager, SimpleBuildManager }
1212
import scala.tools.nsc.io.AbstractFile
1313
import scala.tools.nsc.reporters.{Reporter, ConsoleReporter}
1414
import scala.reflect.internal.util.{ BatchSourceFile, FakePos } //{Position}
15-
import Properties.{ versionString, copyrightString, residentPromptString, msilLibPath }
15+
import Properties.msilLibPath
1616

1717
/** The main class for NSC, a compiler for the programming
18-
* language Scala.
18+
* language Scala.
1919
*/
2020
object Main extends Driver with EvalLoop {
2121

22-
val prompt = residentPromptString
23-
2422
def resident(compiler: Global) {
2523
loop { line =>
2624
val args = line.split(' ').toList

src/reflect/scala/reflect/internal/Types.scala

+7-7
Original file line numberDiff line numberDiff line change
@@ -1053,7 +1053,7 @@ trait Types extends api.Types { self: SymbolTable =>
10531053
while (!bcs.isEmpty) {
10541054
val decls = bcs.head.info.decls
10551055
var entry =
1056-
if (name == nme.ANYNAME) decls.elems
1056+
if (name eq nme.ANYNAME) decls.elems
10571057
else if ((fingerPrint & decls.fingerPrints) == 0) null
10581058
else decls.lookupEntry(name)
10591059
while (entry ne null) {
@@ -1069,12 +1069,12 @@ trait Types extends api.Types { self: SymbolTable =>
10691069
Statistics.popTimer(typeOpsStack, start)
10701070
if (suspension ne null) suspension foreach (_.suspended = false)
10711071
return sym
1072-
} else if (member == NoSymbol) {
1072+
} else if (member eq NoSymbol) {
10731073
member = sym
10741074
} else if (members eq null) {
1075-
if (member.name != sym.name ||
1076-
!(member == sym ||
1077-
member.owner != sym.owner &&
1075+
if ((member.name ne sym.name) ||
1076+
!((member eq sym) ||
1077+
(member.owner ne sym.owner) &&
10781078
!sym.isPrivate && {
10791079
if (self eq null) self = this.narrow
10801080
if (membertpe eq null) membertpe = self.memberType(member)
@@ -1088,8 +1088,8 @@ trait Types extends api.Types { self: SymbolTable =>
10881088
var prevEntry = members.lookupEntry(sym.name)
10891089
var symtpe: Type = null
10901090
while ((prevEntry ne null) &&
1091-
!(prevEntry.sym == sym ||
1092-
prevEntry.sym.owner != sym.owner &&
1091+
!((prevEntry.sym eq sym) ||
1092+
(prevEntry.sym.owner ne sym.owner) &&
10931093
!sym.hasFlag(PRIVATE) && {
10941094
if (self eq null) self = this.narrow
10951095
if (symtpe eq null) symtpe = self.memberType(sym)

0 commit comments

Comments
 (0)