diff options
author | paltherr <paltherr@epfl.ch> | 2003-11-28 16:25:45 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-11-28 16:25:45 +0000 |
commit | 6b8d116ec9f10e97fd2fb3baf7ebd99af0ebedf2 (patch) | |
tree | 45501330e1c0b658dfc6a4185f7df0537a5d17e7 /sources/scalac/ast | |
parent | 21a4dcc99ce03b8663d69a6089f753ce0c360bb8 (diff) | |
download | scala-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.java | 10 |
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; |