diff options
author | schinz <schinz@epfl.ch> | 2003-03-07 13:29:46 +0000 |
---|---|---|
committer | schinz <schinz@epfl.ch> | 2003-03-07 13:29:46 +0000 |
commit | a275c7c9fa889508ce0630fc445a8f1bb2db3aff (patch) | |
tree | 060bcc3687a0e799bf0e4b9e6e9db9b7cb3bb245 /sources/scalac/ast/TreeGen.java | |
parent | 6a6d53bb15506187dddc5d43d3b59199eb6bbe17 (diff) | |
download | scala-a275c7c9fa889508ce0630fc445a8f1bb2db3aff.tar.gz scala-a275c7c9fa889508ce0630fc445a8f1bb2db3aff.tar.bz2 scala-a275c7c9fa889508ce0630fc445a8f1bb2db3aff.zip |
- when generating classes for "def" parameters,...
- when generating classes for "def" parameters, generate with "extends
Object with Function0" instead of "extends Function0"
Diffstat (limited to 'sources/scalac/ast/TreeGen.java')
-rw-r--r-- | sources/scalac/ast/TreeGen.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sources/scalac/ast/TreeGen.java b/sources/scalac/ast/TreeGen.java index 6853b924a5..97041847f9 100644 --- a/sources/scalac/ast/TreeGen.java +++ b/sources/scalac/ast/TreeGen.java @@ -502,7 +502,7 @@ public class TreeGen implements Kinds, Modifiers { /** Build the expansion of (() => expr) * This is: - * { class $clazz() extends scala.Function0 { def apply() = expr } ; new $clazz() } + * { class $anon() extends scala.Function0 { def apply() = expr } ; new $anon() } */ public Tree mkUnitFunction(Tree expr, Type tp, Symbol owner) { int pos = expr.pos; @@ -510,7 +510,8 @@ public class TreeGen implements Kinds, Modifiers { ClassSymbol clazz = new ClassSymbol( pos, Names.ANON_CLASS_NAME.toTypeName(), owner, 0); - clazz.setInfo(Type.compoundType(new Type[]{f0t}, new Scope(), clazz)); + clazz.setInfo(Type.compoundType(new Type[]{definitions.OBJECT_TYPE, f0t}, + new Scope(), clazz)); clazz.constructor().setInfo( Type.MethodType(Symbol.EMPTY_ARRAY, clazz.typeConstructor())); |