@@ -157,49 +157,57 @@ class MegaPhase(val miniPhases: Array[MiniPhase]) extends Phase {
157
157
158
158
/** Transform node using all phases in this group that have idxInGroup >= start */
159
159
def transformNode (tree : Tree , start : Int )(implicit ctx : Context ): Tree = {
160
- def goNamed (tree : Tree , start : Int ) = tree match {
161
- case tree : Ident => goIdent(tree, start)
162
- case tree : Select => goSelect(tree, start)
163
- case tree : ValDef => goValDef(tree, start)
164
- case tree : DefDef => goDefDef(tree, start)
165
- case tree : TypeDef => goTypeDef(tree, start)
166
- case tree : Bind => goBind(tree, start)
167
- case _ => goOther(tree, start)
168
- }
169
- def goUnnamed (tree : Tree , start : Int ) = tree match {
170
- case tree : Apply => goApply(tree, start)
171
- case tree : TypeTree => goTypeTree(tree, start)
172
- case tree : Thicket =>
173
- cpy.Thicket (tree)(tree.trees.mapConserve(transformNode(_, start)))
174
- case tree : This => goThis(tree, start)
175
- case tree : Literal => goLiteral(tree, start)
176
- case tree : Block => goBlock(tree, start)
177
- case tree : TypeApply => goTypeApply(tree, start)
178
- case tree : If => goIf(tree, start)
179
- case tree : New => goNew(tree, start)
180
- case tree : Typed => goTyped(tree, start)
181
- case tree : CaseDef => goCaseDef(tree, start)
182
- case tree : Closure => goClosure(tree, start)
183
- case tree : Assign => goAssign(tree, start)
184
- case tree : SeqLiteral => goSeqLiteral(tree, start)
185
- case tree : Super => goSuper(tree, start)
186
- case tree : Template => goTemplate(tree, start)
187
- case tree : Match => goMatch(tree, start)
188
- case tree : UnApply => goUnApply(tree, start)
189
- case tree : PackageDef => goPackageDef(tree, start)
190
- case tree : Try => goTry(tree, start)
191
- case tree : Inlined => goInlined(tree, start)
192
- case tree : Return => goReturn(tree, start)
193
- case tree : Alternative => goAlternative(tree, start)
194
- case tree => goOther(tree, start)
195
- }
196
- try
197
- if (tree.isInstanceOf [NameTree ]) goNamed(tree, start) else goUnnamed(tree, start)
198
- catch {
199
- case ex : TypeError =>
200
- ctx.error(ex.toMessage, tree.pos)
201
- tree
202
- }
160
+ def goNamed (tree : Tree , start : Int ) =
161
+ try
162
+ tree match {
163
+ case tree : Ident => goIdent(tree, start)
164
+ case tree : Select => goSelect(tree, start)
165
+ case tree : ValDef => goValDef(tree, start)
166
+ case tree : DefDef => goDefDef(tree, start)
167
+ case tree : TypeDef => goTypeDef(tree, start)
168
+ case tree : Bind => goBind(tree, start)
169
+ case _ => goOther(tree, start)
170
+ }
171
+ catch {
172
+ case ex : TypeError =>
173
+ ctx.error(ex.toMessage, tree.pos)
174
+ tree
175
+ }
176
+ def goUnnamed (tree : Tree , start : Int ) =
177
+ try
178
+ tree match {
179
+ case tree : Apply => goApply(tree, start)
180
+ case tree : TypeTree => goTypeTree(tree, start)
181
+ case tree : Thicket =>
182
+ cpy.Thicket (tree)(tree.trees.mapConserve(transformNode(_, start)))
183
+ case tree : This => goThis(tree, start)
184
+ case tree : Literal => goLiteral(tree, start)
185
+ case tree : Block => goBlock(tree, start)
186
+ case tree : TypeApply => goTypeApply(tree, start)
187
+ case tree : If => goIf(tree, start)
188
+ case tree : New => goNew(tree, start)
189
+ case tree : Typed => goTyped(tree, start)
190
+ case tree : CaseDef => goCaseDef(tree, start)
191
+ case tree : Closure => goClosure(tree, start)
192
+ case tree : Assign => goAssign(tree, start)
193
+ case tree : SeqLiteral => goSeqLiteral(tree, start)
194
+ case tree : Super => goSuper(tree, start)
195
+ case tree : Template => goTemplate(tree, start)
196
+ case tree : Match => goMatch(tree, start)
197
+ case tree : UnApply => goUnApply(tree, start)
198
+ case tree : PackageDef => goPackageDef(tree, start)
199
+ case tree : Try => goTry(tree, start)
200
+ case tree : Inlined => goInlined(tree, start)
201
+ case tree : Return => goReturn(tree, start)
202
+ case tree : Alternative => goAlternative(tree, start)
203
+ case tree => goOther(tree, start)
204
+ }
205
+ catch {
206
+ case ex : TypeError =>
207
+ ctx.error(ex.toMessage, tree.pos)
208
+ tree
209
+ }
210
+ if (tree.isInstanceOf [NameTree ]) goNamed(tree, start) else goUnnamed(tree, start)
203
211
}
204
212
205
213
/** Transform full tree using all phases in this group that have idxInGroup >= start */
0 commit comments