summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2004-09-02 16:19:06 +0000
committerMartin Odersky <odersky@gmail.com>2004-09-02 16:19:06 +0000
commit7320ca34aad20a1c47715d265a85da7274b0eaf4 (patch)
treed463653247060d0d7d5b2139cbdada138215e554 /sources/scalac/symtab
parent5c259cbc76648b0e36e27b47e07a6066704c3f52 (diff)
downloadscala-7320ca34aad20a1c47715d265a85da7274b0eaf4.tar.gz
scala-7320ca34aad20a1c47715d265a85da7274b0eaf4.tar.bz2
scala-7320ca34aad20a1c47715d265a85da7274b0eaf4.zip
*** empty log message ***
Diffstat (limited to 'sources/scalac/symtab')
-rw-r--r--sources/scalac/symtab/Modifiers.java5
-rw-r--r--sources/scalac/symtab/Symbol.java2
-rw-r--r--sources/scalac/symtab/Type.java15
3 files changed, 7 insertions, 15 deletions
diff --git a/sources/scalac/symtab/Modifiers.java b/sources/scalac/symtab/Modifiers.java
index 7a79680bd6..952736083f 100644
--- a/sources/scalac/symtab/Modifiers.java
+++ b/sources/scalac/symtab/Modifiers.java
@@ -46,7 +46,8 @@ public interface Modifiers {
int CAPTURED = 0x01000000; // variables is accessed from
// nested function. Set by LambdaLift
int INCONSTRUCTOR = 0x01000000; // transient flag for Analyzer
- int CASEACCESSOR = 0x02000000; // function is a case constructor
+ int PARAMACCESSOR = 0x02000000; // for methods: is an access method for a val parameter
+ // for parameters: is a val parameter
int ACCESSOR = 0x04000000; // function is an access function for a
// value or variable
@@ -102,7 +103,7 @@ public interface Modifiers {
}
public static boolean isCaseAccessor(int flags) {
- return (flags & CASEACCESSOR) != 0;
+ return (flags & PARAMACCESSOR) != 0;
}
public static boolean isInterface(int flags) {
diff --git a/sources/scalac/symtab/Symbol.java b/sources/scalac/symtab/Symbol.java
index 5325107000..63206f4044 100644
--- a/sources/scalac/symtab/Symbol.java
+++ b/sources/scalac/symtab/Symbol.java
@@ -2124,7 +2124,7 @@ public class ClassSymbol extends TypeSymbol {
for (int i = 0; i <= index; i++) {
do {
sym = it.next();
- } while (sym != NONE && sym.kind != VAL || (sym.flags & CASEACCESSOR) == 0 || !sym.isMethod());
+ } while (sym != NONE && sym.kind != VAL || (sym.flags & PARAMACCESSOR) == 0 || !sym.isMethod());
}
//System.out.println(this + ", case field[" + index + "] = " + sym);//DEBUG
} else {
diff --git a/sources/scalac/symtab/Type.java b/sources/scalac/symtab/Type.java
index 5901fc75fa..ff3e25e84f 100644
--- a/sources/scalac/symtab/Type.java
+++ b/sources/scalac/symtab/Type.java
@@ -2171,10 +2171,7 @@ public class Type implements Modifiers, Kinds, TypeTags, EntryTags {
this.singleDeref().isSameAs(that)
||
that.singleDeref().isSingletonType() &&
- this.isSameAs(that.singleDeref())
- ||
- deAlias(that) != that &&
- this.isSameAs(deAlias(that));
+ this.isSameAs(that.singleDeref());
default:
if (deAlias(this) != this)
return deAlias(this).isSameAs(that);
@@ -2190,10 +2187,7 @@ public class Type implements Modifiers, Kinds, TypeTags, EntryTags {
this.singleDeref().isSameAs(that)
||
that.singleDeref().isSingletonType() &&
- this.isSameAs(that.singleDeref())
- ||
- (deAlias(this) != this || deAlias(that) != that) &&
- deAlias(this).isSameAs(deAlias(that));
+ this.isSameAs(that.singleDeref());
case ThisType(Symbol sym1):
return sym.isModule()
&& sym.moduleClass() == sym1
@@ -2203,10 +2197,7 @@ public class Type implements Modifiers, Kinds, TypeTags, EntryTags {
this.singleDeref().isSameAs(that)
||
that.singleDeref().isSingletonType() &&
- this.isSameAs(that.singleDeref())
- ||
- deAlias(this) != this &&
- deAlias(this).isSameAs(that);
+ this.isSameAs(that.singleDeref());
default:
if (deAlias(this) != this)
return deAlias(this).isSameAs(that);