diff options
author | Martin Odersky <odersky@gmail.com> | 2004-09-02 16:19:06 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2004-09-02 16:19:06 +0000 |
commit | 7320ca34aad20a1c47715d265a85da7274b0eaf4 (patch) | |
tree | d463653247060d0d7d5b2139cbdada138215e554 /sources/scalac | |
parent | 5c259cbc76648b0e36e27b47e07a6066704c3f52 (diff) | |
download | scala-7320ca34aad20a1c47715d265a85da7274b0eaf4.tar.gz scala-7320ca34aad20a1c47715d265a85da7274b0eaf4.tar.bz2 scala-7320ca34aad20a1c47715d265a85da7274b0eaf4.zip |
*** empty log message ***
Diffstat (limited to 'sources/scalac')
-rw-r--r-- | sources/scalac/CompilerCommand.java | 2 | ||||
-rw-r--r-- | sources/scalac/Global.java | 1 | ||||
-rw-r--r-- | sources/scalac/checkers/TreeChecker.java | 3 | ||||
-rw-r--r-- | sources/scalac/symtab/Modifiers.java | 5 | ||||
-rw-r--r-- | sources/scalac/symtab/Symbol.java | 2 | ||||
-rw-r--r-- | sources/scalac/symtab/Type.java | 15 | ||||
-rw-r--r-- | sources/scalac/transformer/ExplicitOuterClassesPhase.java | 1 | ||||
-rw-r--r-- | sources/scalac/util/OptionParser.java | 1 |
8 files changed, 13 insertions, 17 deletions
diff --git a/sources/scalac/CompilerCommand.java b/sources/scalac/CompilerCommand.java index dd3505b6be..a5178ee50d 100644 --- a/sources/scalac/CompilerCommand.java +++ b/sources/scalac/CompilerCommand.java @@ -13,8 +13,8 @@ import java.util.ArrayList; import java.util.List; import scala.tools.util.ClassPath; +import scala.tools.util.Reporter; -import scalac.util.Reporter; import scalac.util.CommandParser; import scalac.util.ArgumentParser; import scalac.util.OptionParser; diff --git a/sources/scalac/Global.java b/sources/scalac/Global.java index 66d8d76506..fe4f528015 100644 --- a/sources/scalac/Global.java +++ b/sources/scalac/Global.java @@ -27,6 +27,7 @@ import scala.tools.util.ClassPath; import scala.tools.util.Position; import scala.tools.util.SourceFile; import scala.tools.util.SourceReader; +import scala.tools.util.Reporter; import scalac.ast.*; import scalac.ast.parser.*; diff --git a/sources/scalac/checkers/TreeChecker.java b/sources/scalac/checkers/TreeChecker.java index bc38e3eafb..b52d6c657c 100644 --- a/sources/scalac/checkers/TreeChecker.java +++ b/sources/scalac/checkers/TreeChecker.java @@ -393,7 +393,8 @@ public class TreeChecker { assert symbol != null && symbol.isTerm(): show(tree); Symbol owner = symbol.owner(); assert owner.isClass() && !owner.isStaticOwner(): show(tree); - assert qualifier.type().baseType(owner) != Type.NoType: show(tree); + assert qualifier.type().baseType(owner) != Type.NoType: + show(tree) + "#" + qualifier.type() + "/" + owner; return expression(qualifier, qualifier.type()); default: 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); diff --git a/sources/scalac/transformer/ExplicitOuterClassesPhase.java b/sources/scalac/transformer/ExplicitOuterClassesPhase.java index e7e4fe33d8..b0cd2918d8 100644 --- a/sources/scalac/transformer/ExplicitOuterClassesPhase.java +++ b/sources/scalac/transformer/ExplicitOuterClassesPhase.java @@ -309,6 +309,7 @@ public class ExplicitOuterClassesPhase extends Phase { /** Transforms the given tree. */ public Tree transform(Tree tree) { + if (global.debug) global.log("transforming " + tree);//debug switch (tree) { case ClassDef(_, _, _, _, _, Template impl): diff --git a/sources/scalac/util/OptionParser.java b/sources/scalac/util/OptionParser.java index 6294db9a20..9521ca388e 100644 --- a/sources/scalac/util/OptionParser.java +++ b/sources/scalac/util/OptionParser.java @@ -9,6 +9,7 @@ package scalac.util; import scala.tools.util.Position; +import scala.tools.util.Reporter; import java.text.Format; import java.text.MessageFormat; |