Skip to content

Commit 189b16d

Browse files
committed
Add type argument for staged tail and refactor QuoteErrors
1 parent 800f670 commit 189b16d

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

library/src-bootstrapped/scala/compiletime/StagedTuple.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ object StagedTuple {
117117
tup.as[Tuple5[_, _, _, _, _]].bind(t => '{Tuple4($t._2, $t._3, $t._4, $t._5)})
118118
case Some(n) if n > 5 =>
119119
val arr = toArrayStaged(tup, size)
120-
fromArrayStaged('{ $arr.tail }, Some(n - 1))
120+
fromArrayStaged[Tail[Tup]]('{ $arr.tail }, Some(n - 1))
121121
case None =>
122122
'{dynamicTail($tup)}
123123
}

tests/neg-with-compiler/i5941/macro_1.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ object Lens {
3434
apply($getter)(setter)
3535
}
3636
case _ =>
37-
throw new QuoteError("Unsupported syntax. Example: `GenLens[Address](_.streetNumber)`")
37+
QuoteError("Unsupported syntax. Example: `GenLens[Address](_.streetNumber)`")
3838
}
3939
}
4040
}

tests/run-with-compiler/i5941/macro_1.scala

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ object Lens {
6060
apply($getter)(setter)
6161
}
6262
case _ =>
63-
throw new QuoteError("Unsupported syntax. Example: `GenLens[Address](_.streetNumber)`")
63+
QuoteError("Unsupported syntax. Example: `GenLens[Address](_.streetNumber)`")
6464
}
6565
}
6666
}
@@ -101,7 +101,7 @@ object Iso {
101101
// 2. A must be a tuple
102102
// 3. The parameters of S must match A
103103
if (tpS.classSymbol.flatMap(cls => if (cls.flags.is(Flags.Case)) Some(true) else None).isEmpty)
104-
throw new QuoteError("Only support generation for case classes")
104+
QuoteError("Only support generation for case classes")
105105

106106
val cls = tpS.classSymbol.get
107107

@@ -111,11 +111,11 @@ object Iso {
111111
}
112112

113113
if (cls.caseFields.size != 1)
114-
throw new QuoteError("Use GenIso.fields for case classes more than one parameter")
114+
QuoteError("Use GenIso.fields for case classes more than one parameter")
115115

116116
val fieldTp = tpS.memberType(cls.caseFields.head)
117117
if (!(fieldTp =:= tpA))
118-
throw new QuoteError(s"The type of case class field $fieldTp does not match $tpA")
118+
QuoteError(s"The type of case class field $fieldTp does not match $tpA")
119119

120120
'{
121121
// (p: S) => p._1
@@ -142,7 +142,7 @@ object Iso {
142142
val cls = tpS.classSymbol.get
143143

144144
if (cls.caseFields.size != 0)
145-
throw new QuoteError("Use GenIso.fields for case classes more than one parameter")
145+
QuoteError("Use GenIso.fields for case classes more than one parameter")
146146

147147
val companion = tpS match {
148148
case Type.SymRef(sym, prefix) => Type.TermRef(prefix, sym.name)
@@ -156,7 +156,7 @@ object Iso {
156156
}
157157
}
158158
else {
159-
throw new QuoteError("Only support generation for case classes or singleton types")
159+
QuoteError("Only support generation for case classes or singleton types")
160160
}
161161
}
162162

0 commit comments

Comments
 (0)