trait Interpolators[Expr[+_], ToExpr[_], Type[_]] extends AnyRef
A trait that provides Interpolator factory methods that conform to a particular input Expr type parameter.
In scala 3, the Interpolator companion object contains methods similar to these for quoted.Expr,
and as such this would generally by calling methods directly on Interpolator.
However, since in scala 2 the Expr depends on a particular instance of blackbox.Context
,
instead an Interpolators must be constructed from the Interpolator companion object's macroInterpolators
method that takes a Context.
- Source
- Interpolator.scala
- Grouped
- Alphabetic
- By Inheritance
- Interpolators
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Type Members
- type Interpolator[A] = stringContextParserCombinator.Interpolator[Expr[Any], A]
Abstract Value Members
-
abstract
def
charIn(str: String): Interpolator[Char]
Succeeds if the next character is a member of the given String; captures that character
-
abstract
def
charIn(str: Seq[Char]): Interpolator[Char]
Succeeds if the next character is a member of the given Seq; captures that character
-
abstract
def
charIn(str: Set[Char]): Interpolator[Char]
Succeeds if the next character is a member of the given Set; captures that character
-
abstract
def
charWhere(fn: (Char) ⇒ Boolean): Interpolator[Char]
Succeeds if the next character matches the given predicate; captures that character
-
abstract
def
codePointIn(str: String): Interpolator[CodePoint]
Succeeds if the next codepoint is a member of the given string; captures that code point
-
abstract
def
codePointIn(str: Seq[CodePoint]): Interpolator[CodePoint]
Succeeds if the next codepoint is a member of the given Seq; captures that code point
-
abstract
def
codePointIn(str: Set[CodePoint]): Interpolator[CodePoint]
Succeeds if the next codepoint is a member of the given Set; captures that code point
-
abstract
def
codePointWhere(fn: (CodePoint) ⇒ Boolean): Interpolator[CodePoint]
Succeeds if the next codepoint matches the given predicate; captures that code point
-
abstract
def
end: Interpolator[Unit]
A parser that succeeds iff the input is empty
-
abstract
def
fail(message: String): Interpolator[Nothing]
A parser that always reports a failure
-
abstract
def
isString(str: String): Interpolator[Unit]
Succeeds if the next set of characters in the input is equal to the given string
-
abstract
def
lazy[A](fn: () ⇒ Interpolator[A]): Interpolator[A]
Indirectly refers to a parser, to allow for mutual-recursion
-
abstract
def
ofType[A](implicit tpe: Type[A]): Interpolator[Expr[A]]
A parser that succeeds iff the next part of the input is an
arg
with the given type, and captures the arg's tree -
abstract
def
pass: Interpolator[Unit]
A parser that consumes no input and always succeeds
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from Interpolators[Expr, ToExpr, Type] to any2stringadd[Interpolators[Expr, ToExpr, Type]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (Interpolators[Expr, ToExpr, Type], B)
- Implicit
- This member is added by an implicit conversion from Interpolators[Expr, ToExpr, Type] to ArrowAssoc[Interpolators[Expr, ToExpr, Type]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
ensuring(cond: (Interpolators[Expr, ToExpr, Type]) ⇒ Boolean, msg: ⇒ Any): Interpolators[Expr, ToExpr, Type]
- Implicit
- This member is added by an implicit conversion from Interpolators[Expr, ToExpr, Type] to Ensuring[Interpolators[Expr, ToExpr, Type]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (Interpolators[Expr, ToExpr, Type]) ⇒ Boolean): Interpolators[Expr, ToExpr, Type]
- Implicit
- This member is added by an implicit conversion from Interpolators[Expr, ToExpr, Type] to Ensuring[Interpolators[Expr, ToExpr, Type]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): Interpolators[Expr, ToExpr, Type]
- Implicit
- This member is added by an implicit conversion from Interpolators[Expr, ToExpr, Type] to Ensuring[Interpolators[Expr, ToExpr, Type]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): Interpolators[Expr, ToExpr, Type]
- Implicit
- This member is added by an implicit conversion from Interpolators[Expr, ToExpr, Type] to Ensuring[Interpolators[Expr, ToExpr, Type]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
→[B](y: B): (Interpolators[Expr, ToExpr, Type], B)
- Implicit
- This member is added by an implicit conversion from Interpolators[Expr, ToExpr, Type] to ArrowAssoc[Interpolators[Expr, ToExpr, Type]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
Deprecated Value Members
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from Interpolators[Expr, ToExpr, Type] to StringFormat[Interpolators[Expr, ToExpr, Type]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
A library for writing custom string interpolation implementations via parser combinators
Entry Points
If the string context should create an object: Create leaf parsers using the methods in the Interpolator companion object, combine and manipulate them with the methods in Interpolator, then interpolate using the final
Interpolator
'sinterpolate
method.If the string context should create an extractor: Create leaf parsers using the methods in the Extractor companion object, combine and manipulate them with the methods in Extractor, then interpolate using the final
Extractor
'sextractor
method.If the string context should do both: Create leaf parsers using the methods in the Parser companion object, combine and manipulate them with the methods in Parser, then interpolate using the final
Parser
'sinterpolate
andextractor
methods.