summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;