summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab/Symbol.java
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-07-04 22:40:47 +0000
committerpaltherr <paltherr@epfl.ch>2003-07-04 22:40:47 +0000
commit3c256cfb7474090f3cd4780ac80ad0b4702ff90f (patch)
tree9bf5b4e3360ec3e9e394e6c20dd58377ef9c7ad0 /sources/scalac/symtab/Symbol.java
parent0d359a148ea4e839ebce28b1593798e6902ef4aa (diff)
downloadscala-3c256cfb7474090f3cd4780ac80ad0b4702ff90f.tar.gz
scala-3c256cfb7474090f3cd4780ac80ad0b4702ff90f.tar.bz2
scala-3c256cfb7474090f3cd4780ac80ad0b4702ff90f.zip
- Fixed Symbol.isClass to return false if symbo...
- Fixed Symbol.isClass to return false if symbol is a package Fixed - Symbol.isAnonymousClass to correctly test the class name Fixed - Symbol.isLocalClass to use methods isClass and isAnonymousClass Fixed - GenJVM.javaName (only worked because isAnonymousClass was broken) - Fixed AddInterfacesPhase.needInterface to return false for anonymous - classes Adapted AddInterfacesPhase.transformInfo to new definition of - isClass
Diffstat (limited to 'sources/scalac/symtab/Symbol.java')
-rw-r--r--sources/scalac/symtab/Symbol.java11
1 files changed, 4 insertions, 7 deletions
diff --git a/sources/scalac/symtab/Symbol.java b/sources/scalac/symtab/Symbol.java
index 43c2867796..adc38fe975 100644
--- a/sources/scalac/symtab/Symbol.java
+++ b/sources/scalac/symtab/Symbol.java
@@ -222,9 +222,7 @@ public abstract class Symbol implements Modifiers, Kinds {
/* Does this symbol denote an anonymous class? */
public final boolean isAnonymousClass() {
- return kind == CLASS &&
- (name == Names.EMPTY.toTypeName() ||
- name == Names.ANON_CLASS_NAME.toTypeName());
+ return isClass() && name.startsWith(Names.ANON_CLASS_NAME);
}
/** Does this symbol denote the root class or root module?
@@ -262,7 +260,7 @@ public abstract class Symbol implements Modifiers, Kinds {
/** Does this symbol denote a class? */
public final boolean isClass() {
- return kind == CLASS;
+ return kind == CLASS && (flags & PACKAGE) == 0;
}
/** Does this symbol denote a case class?
@@ -342,9 +340,8 @@ public abstract class Symbol implements Modifiers, Kinds {
* - it is defined within a local class
*/
public final boolean isLocalClass() {
- return kind == CLASS &&
- !isPackage() &&
- (name == Names.EMPTY.toTypeName() ||
+ return isClass() &&
+ (isAnonymousClass() ||
owner.isValue() ||
owner.isLocalClass());
}