summaryrefslogtreecommitdiff
path: root/sources/scalac/ast
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-11-28 16:25:45 +0000
committerpaltherr <paltherr@epfl.ch>2003-11-28 16:25:45 +0000
commit6b8d116ec9f10e97fd2fb3baf7ebd99af0ebedf2 (patch)
tree45501330e1c0b658dfc6a4185f7df0537a5d17e7 /sources/scalac/ast
parent21a4dcc99ce03b8663d69a6089f753ce0c360bb8 (diff)
downloadscala-6b8d116ec9f10e97fd2fb3baf7ebd99af0ebedf2.tar.gz
scala-6b8d116ec9f10e97fd2fb3baf7ebd99af0ebedf2.tar.bz2
scala-6b8d116ec9f10e97fd2fb3baf7ebd99af0ebedf2.zip
- Fixed ClassDef to use typeOfThis of next phase;
Diffstat (limited to 'sources/scalac/ast')
-rw-r--r--sources/scalac/ast/TreeGen.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/sources/scalac/ast/TreeGen.java b/sources/scalac/ast/TreeGen.java
index 3fded7edd2..1df5678920 100644
--- a/sources/scalac/ast/TreeGen.java
+++ b/sources/scalac/ast/TreeGen.java
@@ -882,14 +882,18 @@ public class TreeGen implements Kinds, Modifiers, TypeTags {
/** Builds a ClassDef node for given class with given template. */
public ClassDef ClassDef(Symbol clazz, Template template) {
+ Tree type = Tree.Empty;
+ if (clazz.thisSym() != clazz) {
+ global.nextPhase();
+ type = mkType(clazz.pos, clazz.typeOfThis());
+ global.prevPhase();
+ }
ClassDef tree = make.ClassDef(
clazz.pos,
clazz,
mkTypeParamsOf(clazz),
mkParamsOf(clazz),
- clazz.thisSym() != clazz
- ? mkType(clazz.pos, clazz.typeOfThis())
- : Tree.Empty,
+ type,
template);
tree.setType(Type.NoType);
return tree;