Skip to content

Commit ed29ad6

Browse files
committed
fix: moved ManyUntil.Stop into instructions package
1 parent 59ab781 commit ed29ad6

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

parsley/shared/src/main/scala/parsley/combinator.scala

+2-6
Original file line numberDiff line numberDiff line change
@@ -561,16 +561,12 @@ private [parsley] trait combinator {
561561
*/
562562
final def manyTill[A](p: Parsley[A], end: Parsley[_]): Parsley[List[A]] = manyTill(p, end, List)
563563
private [parsley] final def manyTill[A, C](p: Parsley[A], end: Parsley[_], factory: Factory[A, C]): Parsley[C] = {
564-
new Parsley(new frontend.ManyTill((end.as(ManyUntil.Stop).ut() |: p: Parsley[Any]).internal, factory))
564+
new Parsley(new frontend.ManyTill((end.as(parsley.internal.machine.instructions.ManyUntil.Stop).ut() |: p: Parsley[Any]).internal, factory))
565565
}
566566

567567
// TODO: find a way to make this redundant
568568
private [parsley] final def skipManyUntil(p: Parsley[_], end: Parsley[_]): Parsley[Unit] = {
569-
new Parsley(new frontend.SkipManyUntil((end.as(ManyUntil.Stop).ut() |: p.void.ut(): Parsley[Any]).internal))
570-
}
571-
572-
private [parsley] object ManyUntil {
573-
object Stop
569+
new Parsley(new frontend.SkipManyUntil((end.as(parsley.internal.machine.instructions.ManyUntil.Stop).ut() |: p.void.ut(): Parsley[Any]).internal))
574570
}
575571

576572
/** This combinator repeatedly parses a given parser '''one''' or more times, until the `end` parser succeeds, collecting the results into a list.

parsley/shared/src/main/scala/parsley/internal/machine/instructions/IterativeInstrs.scala

+5-2
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ private [internal] final class ManyUntil(var label: Int) extends InstrWithLabel
217217
override def apply(ctx: Context): Unit = {
218218
ensureRegularInstruction(ctx)
219219
ctx.stack.upop() match {
220-
case parsley.combinator.ManyUntil.Stop => ctx.exchangeAndContinue(ctx.stack.peek[mutable.Builder[Any, Any]].result())
220+
case ManyUntil.Stop => ctx.exchangeAndContinue(ctx.stack.peek[mutable.Builder[Any, Any]].result())
221221
case x =>
222222
ctx.stack.peek[mutable.Builder[Any, Any]] += x
223223
ctx.pc = label
@@ -227,12 +227,15 @@ private [internal] final class ManyUntil(var label: Int) extends InstrWithLabel
227227
override def toString: String = s"ManyUntil($label)"
228228
// $COVERAGE-ON$
229229
}
230+
private [parsley] object ManyUntil {
231+
object Stop
232+
}
230233

231234
private [internal] final class SkipManyUntil(var label: Int) extends InstrWithLabel {
232235
override def apply(ctx: Context): Unit = {
233236
ensureRegularInstruction(ctx)
234237
ctx.stack.upop() match {
235-
case parsley.combinator.ManyUntil.Stop => ctx.inc()
238+
case ManyUntil.Stop => ctx.inc()
236239
case _ => ctx.pc = label
237240
}
238241
}

0 commit comments

Comments
 (0)