@@ -57,21 +57,21 @@ trait TreeUtils
57
57
foldTrees(foldTree(x, elemtpt), elems)
58
58
case Inlined (call, bindings, expansion) =>
59
59
foldTree(foldTrees(x, bindings), expansion)
60
- case IsDefinition ( vdef @ ValDef (_, tpt, rhs) ) =>
60
+ case vdef @ ValDef (_, tpt, rhs) =>
61
61
implicit val ctx = localCtx(vdef)
62
62
foldTrees(foldTree(x, tpt), rhs)
63
- case IsDefinition ( ddef @ DefDef (_, tparams, vparamss, tpt, rhs) ) =>
63
+ case ddef @ DefDef (_, tparams, vparamss, tpt, rhs) =>
64
64
implicit val ctx = localCtx(ddef)
65
65
foldTrees(foldTree(vparamss.foldLeft(foldTrees(x, tparams))(foldTrees), tpt), rhs)
66
- case IsDefinition ( tdef @ TypeDef (_, rhs) ) =>
66
+ case tdef @ TypeDef (_, rhs) =>
67
67
implicit val ctx = localCtx(tdef)
68
68
foldTree(x, rhs)
69
- case IsDefinition ( cdef @ ClassDef (_, constr, parents, derived, self, body) ) =>
69
+ case cdef @ ClassDef (_, constr, parents, derived, self, body) =>
70
70
implicit val ctx = localCtx(cdef)
71
71
foldTrees(foldTrees(foldTrees(foldTrees(foldTree(x, constr), parents), derived), self), body)
72
72
case Import (expr, _) =>
73
73
foldTree(x, expr)
74
- case IsPackageClause ( clause @ PackageClause (pid, stats) ) =>
74
+ case clause @ PackageClause (pid, stats) =>
75
75
foldTrees(foldTree(x, pid), stats)(given clause .symbol.localContext)
76
76
case Inferred () => x
77
77
case TypeIdent (_) => x
@@ -112,47 +112,47 @@ trait TreeUtils
112
112
113
113
def transformTree (tree : Tree )(given ctx : Context ): Tree = {
114
114
tree match {
115
- case IsPackageClause ( tree) =>
115
+ case tree : PackageClause =>
116
116
PackageClause .copy(tree)(transformTerm(tree.pid).asInstanceOf [Ref ], transformTrees(tree.stats)(given tree .symbol.localContext))
117
- case IsImport ( tree) =>
117
+ case tree : Import =>
118
118
Import .copy(tree)(transformTerm(tree.expr), tree.selectors)
119
- case IsStatement ( tree) =>
119
+ case tree : Statement =>
120
120
transformStatement(tree)
121
- case IsTypeTree ( tree) => transformTypeTree(tree)
122
- case IsTypeBoundsTree ( tree) => tree // TODO traverse tree
123
- case IsWildcardTypeTree ( tree) => tree // TODO traverse tree
124
- case IsCaseDef ( tree) =>
121
+ case tree : TypeTree => transformTypeTree(tree)
122
+ case tree : TypeBoundsTree => tree // TODO traverse tree
123
+ case tree : WildcardTypeTree => tree // TODO traverse tree
124
+ case tree : CaseDef =>
125
125
transformCaseDef(tree)
126
- case IsTypeCaseDef ( tree) =>
126
+ case tree : TypeCaseDef =>
127
127
transformTypeCaseDef(tree)
128
- case IsBind ( pattern) =>
128
+ case pattern : Bind =>
129
129
Bind .copy(pattern)(pattern.name, pattern.pattern)
130
- case IsUnapply ( pattern) =>
130
+ case pattern : Unapply =>
131
131
Unapply .copy(pattern)(transformTerm(pattern.fun), transformSubTrees(pattern.implicits), transformTrees(pattern.patterns))
132
- case IsAlternatives ( pattern) =>
132
+ case pattern : Alternatives =>
133
133
Alternatives .copy(pattern)(transformTrees(pattern.patterns))
134
134
}
135
135
}
136
136
137
137
def transformStatement (tree : Statement )(given ctx : Context ): Statement = {
138
138
def localCtx (definition : Definition ): Context = definition.symbol.localContext
139
139
tree match {
140
- case IsTerm ( tree) =>
140
+ case tree : Term =>
141
141
transformTerm(tree)
142
- case IsValDef ( tree) =>
142
+ case tree : ValDef =>
143
143
implicit val ctx = localCtx(tree)
144
144
val tpt1 = transformTypeTree(tree.tpt)
145
145
val rhs1 = tree.rhs.map(x => transformTerm(x))
146
146
ValDef .copy(tree)(tree.name, tpt1, rhs1)
147
- case IsDefDef ( tree) =>
147
+ case tree : DefDef =>
148
148
implicit val ctx = localCtx(tree)
149
149
DefDef .copy(tree)(tree.name, transformSubTrees(tree.typeParams), tree.paramss mapConserve (transformSubTrees(_)), transformTypeTree(tree.returnTpt), tree.rhs.map(x => transformTerm(x)))
150
- case IsTypeDef ( tree) =>
150
+ case tree : TypeDef =>
151
151
implicit val ctx = localCtx(tree)
152
152
TypeDef .copy(tree)(tree.name, transformTree(tree.rhs))
153
- case IsClassDef ( tree) =>
153
+ case tree : ClassDef =>
154
154
ClassDef .copy(tree)(tree.name, tree.constructor, tree.parents, tree.derived, tree.self, tree.body)
155
- case IsImport ( tree) =>
155
+ case tree : Import =>
156
156
Import .copy(tree)(transformTerm(tree.expr), tree.selectors)
157
157
}
158
158
}
@@ -177,7 +177,7 @@ trait TreeUtils
177
177
New .copy(tree)(transformTypeTree(tpt))
178
178
case Typed (expr, tpt) =>
179
179
Typed .copy(tree)(transformTerm(expr), transformTypeTree(tpt))
180
- case IsNamedArg ( tree) =>
180
+ case tree : NamedArg =>
181
181
NamedArg .copy(tree)(tree.name, transformTerm(tree.value))
182
182
case Assign (lhs, rhs) =>
183
183
Assign .copy(tree)(transformTerm(lhs), transformTerm(rhs))
@@ -204,28 +204,28 @@ trait TreeUtils
204
204
205
205
def transformTypeTree (tree : TypeTree )(given ctx : Context ): TypeTree = tree match {
206
206
case Inferred () => tree
207
- case IsTypeIdent ( tree) => tree
208
- case IsTypeSelect ( tree) =>
207
+ case tree : TypeIdent => tree
208
+ case tree : TypeSelect =>
209
209
TypeSelect .copy(tree)(tree.qualifier, tree.name)
210
- case IsProjection ( tree) =>
210
+ case tree : Projection =>
211
211
Projection .copy(tree)(tree.qualifier, tree.name)
212
- case IsAnnotated ( tree) =>
212
+ case tree : Annotated =>
213
213
Annotated .copy(tree)(tree.arg, tree.annotation)
214
- case IsSingleton ( tree) =>
214
+ case tree : Singleton =>
215
215
Singleton .copy(tree)(transformTerm(tree.ref))
216
- case IsRefined ( tree) =>
216
+ case tree : Refined =>
217
217
Refined .copy(tree)(transformTypeTree(tree.tpt), transformTrees(tree.refinements).asInstanceOf [List [Definition ]])
218
- case IsApplied ( tree) =>
218
+ case tree : Applied =>
219
219
Applied .copy(tree)(transformTypeTree(tree.tpt), transformTrees(tree.args))
220
- case IsMatchTypeTree ( tree) =>
220
+ case tree : MatchTypeTree =>
221
221
MatchTypeTree .copy(tree)(tree.bound.map(b => transformTypeTree(b)), transformTypeTree(tree.selector), transformTypeCaseDefs(tree.cases))
222
- case IsByName ( tree) =>
222
+ case tree : ByName =>
223
223
ByName .copy(tree)(transformTypeTree(tree.result))
224
- case IsLambdaTypeTree ( tree) =>
224
+ case tree : LambdaTypeTree =>
225
225
LambdaTypeTree .copy(tree)(transformSubTrees(tree.tparams), transformTree(tree.body))(given tree .symbol.localContext)
226
- case IsTypeBind ( tree) =>
226
+ case tree : TypeBind =>
227
227
TypeBind .copy(tree)(tree.name, tree.body)
228
- case IsTypeBlock ( tree) =>
228
+ case tree : TypeBlock =>
229
229
TypeBlock .copy(tree)(tree.aliases, tree.tpt)
230
230
}
231
231
0 commit comments