Skip to content

Commit c4e3e92

Browse files
committed
Add quotes to strings in tasty extractors
To make pattern matches mach the exact names or strings
1 parent b3bf1e6 commit c4e3e92

7 files changed

+194
-194
lines changed

library/src/scala/tasty/util/ShowExtractors.scala

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ class ShowExtractors[T <: Tasty with Singleton](tasty0: T) extends Show[T](tasty
2525

2626
def visitTree(x: Tree): Buffer = x match {
2727
case Term.Ident(name) =>
28-
this += "Ident(" += name += ")"
28+
this += "Ident(\"" += name += "\")"
2929
case Term.Select(qualifier, name, signature) =>
30-
this += "Select(" += qualifier += ", " += name += ", " += signature += ")"
30+
this += "Select(" += qualifier += ", \"" += name += "\", " += signature += ")"
3131
case Term.This(qual) =>
3232
this += "This(" += qual += ")"
3333
case Term.Super(qual, mix) =>
@@ -43,7 +43,7 @@ class ShowExtractors[T <: Tasty with Singleton](tasty0: T) extends Show[T](tasty
4343
case Term.Typed(expr, tpt) =>
4444
this += "Typed(" += expr += ", " += tpt += ")"
4545
case Term.NamedArg(name, arg) =>
46-
this += "NamedArg(" += name += ", " += arg += ")"
46+
this += "NamedArg(\"" += name += "\", " += arg += ")"
4747
case Term.Assign(lhs, rhs) =>
4848
this += "Assign(" += lhs += ", " += rhs += ")"
4949
case Term.Block(stats, expr) =>
@@ -63,20 +63,20 @@ class ShowExtractors[T <: Tasty with Singleton](tasty0: T) extends Show[T](tasty
6363
case Term.Inlined(call, bindings, expansion) =>
6464
this += "Inlined(" += call += ", " ++= bindings += ", " += expansion += ")"
6565
case ValDef(name, tpt, rhs) =>
66-
this += "ValDef(" += name += ", " += tpt += ", " += rhs += ")"
66+
this += "ValDef(\"" += name += "\", " += tpt += ", " += rhs += ")"
6767
case DefDef(name, typeParams, paramss, returnTpt, rhs) =>
68-
this += "DefDef(" += name += ", " ++= typeParams += ", " +++= paramss += ", " += returnTpt += ", " += rhs += ")"
68+
this += "DefDef(\"" += name += "\", " ++= typeParams += ", " +++= paramss += ", " += returnTpt += ", " += rhs += ")"
6969
case TypeDef(name, rhs) =>
70-
this += "TypeDef(" += name += ", " += rhs += ")"
70+
this += "TypeDef(\"" += name += "\", " += rhs += ")"
7171
case ClassDef(name, constr, parents, self, body) =>
72-
this += "ClassDef(" += name += ", " += constr += ", "
72+
this += "ClassDef(\"" += name += "\", " += constr += ", "
7373
visitList[Parent](parents, {
7474
case parent @ Term() => this += parent
7575
case parent @ TypeTree() => this += parent
7676
})
7777
this += ", " += self += ", " ++= body += ")"
7878
case PackageDef(name, members) =>
79-
this += "PackageDef(" += name += ", " ++= members += ")"
79+
this += "PackageDef(\"" += name += "\", " ++= members += ")"
8080
case Import(expr, selectors) =>
8181
this += "Import(" += expr += ", " ++= selectors += ")"
8282
case PackageClause(pid, stats) =>
@@ -87,9 +87,9 @@ class ShowExtractors[T <: Tasty with Singleton](tasty0: T) extends Show[T](tasty
8787
case TypeTree.Synthetic() =>
8888
this += "Synthetic()"
8989
case TypeTree.TypeIdent(name) =>
90-
this += "TypeIdent(" += name += ")"
90+
this += "TypeIdent(\"" += name += "\")"
9191
case TypeTree.TypeSelect(qualifier, name) =>
92-
this += "TypeSelect(" += qualifier += ", " += name += ")"
92+
this += "TypeSelect(" += qualifier += ", \"" += name += "\")"
9393
case TypeTree.Singleton(ref) =>
9494
this += "Singleton(" += ref += ")"
9595
case TypeTree.And(left, right) =>
@@ -117,7 +117,7 @@ class ShowExtractors[T <: Tasty with Singleton](tasty0: T) extends Show[T](tasty
117117
case Pattern.Value(v) =>
118118
this += "Value(" += v += ")"
119119
case Pattern.Bind(name, body) =>
120-
this += "Bind(" += name += ", " += body += ")"
120+
this += "Bind(\"" += name += "\", " += body += ")"
121121
case Pattern.Unapply(fun, implicits, patterns) =>
122122
this += "Unapply(" += fun += ", " ++= implicits += ", " ++= patterns += ")"
123123
case Pattern.Alternative(patterns) =>
@@ -137,28 +137,28 @@ class ShowExtractors[T <: Tasty with Singleton](tasty0: T) extends Show[T](tasty
137137
case Constant.Long(value) => this += "Long(" += value += ")"
138138
case Constant.Float(value) => this += "Float(" += value += ")"
139139
case Constant.Double(value) => this += "Double(" += value += ")"
140-
case Constant.String(value) => this += "String(" += value += ")"
140+
case Constant.String(value) => this += "String(\"" += value += "\")"
141141
}
142142

143143
def visitType(x: TypeOrBounds): Buffer = x match {
144144
case Type.ConstantType(value) =>
145145
this += "ConstantType(" += value += ")"
146146
case Type.SymRef(sym, qual) =>
147147
def visitName(sym: Definition): Buffer = sym match {
148-
case ValDef(name, _, _) => this += "ValDef(" += name += ", _, _)"
149-
case DefDef(name, _, _, _, _) => this += "DefDef(" += name += ", _, _, _, _)"
150-
case TypeDef(name, _) => this += "TypeDef(" += name += ", _)"
151-
case ClassDef(name, _, _, _, _) => this += "ClassDef(" += name += ", _, _, _, _)"
152-
case PackageDef(name, _) => this += "PackageDef(" += name += ", _)"
148+
case ValDef(name, _, _) => this += "ValDef(\"" += name += "\", _, _)"
149+
case DefDef(name, _, _, _, _) => this += "DefDef(\"" += name += "\", _, _, _, _)"
150+
case TypeDef(name, _) => this += "TypeDef(\"" += name += "\", _)"
151+
case ClassDef(name, _, _, _, _) => this += "ClassDef(\"" += name += "\", _, _, _, _)"
152+
case PackageDef(name, _) => this += "PackageDef(\"" += name += "\", _)"
153153
case _ => this += "#"
154154
}
155155
this += "SymRef("
156156
visitName(sym)
157157
this += ", " += qual += ")"
158158
case Type.TermRef(name, qual) =>
159-
this += "TermRef(" += name += ", " += qual += ")"
159+
this += "TermRef(\"" += name += "\", " += qual += ")"
160160
case Type.TypeRef(name, qual) =>
161-
this += "TypeRef(" += name += ", " += qual += ")"
161+
this += "TypeRef(\"" += name += "\", " += qual += ")"
162162
case Type.Refinement(parent, name, info) =>
163163
this += "Refinement(" += parent += ", " += name += ", " += info += ")"
164164
case Type.AppliedType(tycon, args) =>
@@ -198,7 +198,7 @@ class ShowExtractors[T <: Tasty with Singleton](tasty0: T) extends Show[T](tasty
198198

199199
def visitId(x: Id): Buffer = {
200200
val Id(name) = x
201-
this += "Id(" += name += ")"
201+
this += "Id(\"" += name += "\")"
202202
}
203203

204204
def visitSignature(sig: Signature): Buffer = {

0 commit comments

Comments
 (0)