summaryrefslogtreecommitdiff
path: root/sources/scala/tools/nsc/symtab/Definitions.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2005-02-16 13:15:42 +0000
committerMartin Odersky <odersky@gmail.com>2005-02-16 13:15:42 +0000
commit28c2394d012195e38308bcd6fd5049bcde635b4c (patch)
treeefc1ab19ecba057cf626af0d86e0aa85b985b941 /sources/scala/tools/nsc/symtab/Definitions.scala
parent431abf42bda2c97ff062594a8f1d15fd7776350c (diff)
downloadscala-28c2394d012195e38308bcd6fd5049bcde635b4c.tar.gz
scala-28c2394d012195e38308bcd6fd5049bcde635b4c.tar.bz2
scala-28c2394d012195e38308bcd6fd5049bcde635b4c.zip
*** empty log message ***
Diffstat (limited to 'sources/scala/tools/nsc/symtab/Definitions.scala')
-rwxr-xr-xsources/scala/tools/nsc/symtab/Definitions.scala20
1 files changed, 11 insertions, 9 deletions
diff --git a/sources/scala/tools/nsc/symtab/Definitions.scala b/sources/scala/tools/nsc/symtab/Definitions.scala
index f9b4be936e..11e4a10684 100755
--- a/sources/scala/tools/nsc/symtab/Definitions.scala
+++ b/sources/scala/tools/nsc/symtab/Definitions.scala
@@ -1,3 +1,8 @@
+/* NSC -- new scala compiler
+ * Copyright 2005 LAMP/EPFL
+ * @author Martin Odersky
+ */
+// $Id$
package scala.tools.nsc.symtab;
import scala.tools.util.Position;
@@ -86,15 +91,12 @@ abstract class Definitions: SymbolTable {
var i = 0;
var j = fullname.pos('.', i);
while (j < fullname.length) {
- sym = sym.info.lookup(fullname.subName(i, j));
+ sym = sym.info.nonPrivateMember(fullname.subName(i, j));
i = j + 1;
j = fullname.pos('.', i)
}
- val result =
- if (module)
- sym.info.lookup(fullname.subName(i, j)).withFlag(MODULE | PACKAGE)
- else
- sym.info.lookup(fullname.subName(i, j).toTypeName);
+ val result = sym.info.nonPrivateMember(fullname.subName(i, j).toTypeName)
+ .suchThat(.hasFlag(MODULE));
if (result == NoSymbol)
throw new FatalError((if (module) "object " else "class ") + fullname + " not found.");
result
@@ -103,20 +105,20 @@ abstract class Definitions: SymbolTable {
private def newClass(owner: Symbol, name: Name, parents: List[Type]): Symbol = {
val clazz = owner.newClass(Position.NOPOS, name.toTypeName);
clazz.setInfo(ClassInfoType(parents, new Scope(), clazz));
- owner.info.members.enter(clazz);
+ owner.info.decls.enter(clazz);
clazz
}
private def newAlias(owner: Symbol, name: Name, alias: Type): Symbol = {
val tpsym = owner.newAliasType(Position.NOPOS, name.toTypeName);
tpsym.setInfo(alias);
- owner.info.members.enter(tpsym);
+ owner.info.decls.enter(tpsym);
tpsym
}
private def newMethod(owner: Symbol, name: Name): Symbol = {
val msym = owner.newMethod(Position.NOPOS, name);
- owner.info.members.enter(msym);
+ owner.info.decls.enter(msym);
msym
}