summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-04-04 15:16:10 +0000
committerpaltherr <paltherr@epfl.ch>2004-04-04 15:16:10 +0000
commitbf2c43a88b365ab814dffc2defd99d2c75fd065c (patch)
tree5426dc24d95dc4854a4eca23dd3e55789b3fdf3f /sources
parent938d635c43dd677f37a0d2cbd86f2e4c04f24187 (diff)
downloadscala-bf2c43a88b365ab814dffc2defd99d2c75fd065c.tar.gz
scala-bf2c43a88b365ab814dffc2defd99d2c75fd065c.tar.bz2
scala-bf2c43a88b365ab814dffc2defd99d2c75fd065c.zip
- Added name argument to Symbol.newAnonymousClass
Diffstat (limited to 'sources')
-rw-r--r--sources/scala/tools/scalac/typechecker/Analyzer.scala2
-rw-r--r--sources/scalac/ast/TreeGen.java6
-rw-r--r--sources/scalac/symtab/Symbol.java3
3 files changed, 6 insertions, 5 deletions
diff --git a/sources/scala/tools/scalac/typechecker/Analyzer.scala b/sources/scala/tools/scalac/typechecker/Analyzer.scala
index f610a5deb0..a42d711398 100644
--- a/sources/scala/tools/scalac/typechecker/Analyzer.scala
+++ b/sources/scala/tools/scalac/typechecker/Analyzer.scala
@@ -849,7 +849,7 @@ class Analyzer(global: scalac_Global, descr: AnalyzerPhase) extends Transformer(
case Tree$ClassDef(mods, name, tparams, vparams, _, templ) =>
val clazz =
if (mods == SYNTHETIC && name == Names.ANON_CLASS_NAME.toTypeName())
- context.owner.newAnonymousClass(templ.pos)
+ context.owner.newAnonymousClass(templ.pos, name)
else
classSymbol(tree.pos, name, owner, mods, context.scope);
if (!clazz.primaryConstructor().isInitialized())
diff --git a/sources/scalac/ast/TreeGen.java b/sources/scalac/ast/TreeGen.java
index 6cf6c6cb23..f298d4a9a8 100644
--- a/sources/scalac/ast/TreeGen.java
+++ b/sources/scalac/ast/TreeGen.java
@@ -1116,7 +1116,8 @@ public class TreeGen implements Kinds, Modifiers, TypeTags {
Type[] parentTypes = {
definitions.ANYREF_TYPE(),
definitions.FUNCTION_TYPE(argtypes, restype) };
- Symbol clazz = owner.newAnonymousClass(pos);
+ Name name = Names.ANON_CLASS_NAME.toTypeName();
+ Symbol clazz = owner.newAnonymousClass(pos, name);
clazz.setInfo(Type.compoundType(parentTypes, new Scope(), clazz));
clazz.allConstructors().setInfo(
Type.MethodType(Symbol.EMPTY_ARRAY, clazz.typeConstructor()));
@@ -1138,7 +1139,8 @@ public class TreeGen implements Kinds, Modifiers, TypeTags {
public Tree mkPartialFunction(int pos, Tree applyVisitor, Tree isDefinedAtVisitor,
Type pattype, Type restype, Symbol owner) {
- Symbol clazz = owner.newAnonymousClass(pos);
+ Name name = Names.ANON_CLASS_NAME.toTypeName();
+ Symbol clazz = owner.newAnonymousClass(pos, name);
Type[] parentTypes = {
definitions.ANYREF_TYPE(),
definitions.PARTIALFUNCTION_TYPE(pattype, restype)};
diff --git a/sources/scalac/symtab/Symbol.java b/sources/scalac/symtab/Symbol.java
index d08bd9b79a..f3bf69bd3b 100644
--- a/sources/scalac/symtab/Symbol.java
+++ b/sources/scalac/symtab/Symbol.java
@@ -270,9 +270,8 @@ public abstract class Symbol implements Modifiers, Kinds {
}
/** Creates a new anonymous class owned by this symbol. */
- public final ClassSymbol newAnonymousClass(int pos) {
+ public final ClassSymbol newAnonymousClass(int pos, Name name) {
assert isTerm(): Debug.show(this);
- Name name = Names.ANON_CLASS_NAME.toTypeName();
return newClass(pos, 0, name, IS_ANONYMOUS, NONE);
}