DynamicRuleDispatchMacro

org.parboiled2.DynamicRuleDispatchMacro

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object DynamicRuleDispatch.type
Self type

Members list

Value members

Concrete methods

def `__create`[P <: Parser : Type, L <: HList : Type](ruleNames: Expr[Seq[String]])(implicit evidence$1: Type[P], evidence$2: Type[L], Quotes): Expr[(DynamicRuleDispatch[P, L], Seq[String])]
inline def apply[P <: Parser, L <: HList](inline ruleNames: String*): (DynamicRuleDispatch[P, L], Seq[String])

Implements efficient runtime dispatch to a predefined set of parser rules. Given a number of rule names this macro-supported method creates a DynamicRuleDispatch instance along with a sequence of the given rule names. Note that there is no reflection involved and compilation will fail, if one of the given rule names does not constitute a method of parser type P or has a type different from RuleN[L].

Implements efficient runtime dispatch to a predefined set of parser rules. Given a number of rule names this macro-supported method creates a DynamicRuleDispatch instance along with a sequence of the given rule names. Note that there is no reflection involved and compilation will fail, if one of the given rule names does not constitute a method of parser type P or has a type different from RuleN[L].

Attributes