Class

com.rouesnel.thrifty.frontend

ThriftParser

Related Doc: package frontend

Permalink

class ThriftParser extends RegexParsers

Linear Supertypes
RegexParsers, Parsers, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ThriftParser
  2. RegexParsers
  3. Parsers
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ThriftParser(importer: Importer, strict: Boolean = true, defaultOptional: Boolean = false, skipIncludes: Boolean = false, documentCache: Map[String, Document] = new TrieMap[String, Document])

    Permalink

Type Members

  1. type Elem = Char

    Permalink
    Definition Classes
    RegexParsers → Parsers
  2. case class Error extends NoSuccess with Product with Serializable

    Permalink
    Definition Classes
    Parsers
  3. case class Failure extends NoSuccess with Product with Serializable

    Permalink
    Definition Classes
    Parsers
  4. type Input = Reader[Elem]

    Permalink
    Definition Classes
    Parsers
  5. sealed abstract class NoSuccess extends ParseResult[Nothing]

    Permalink
    Definition Classes
    Parsers
  6. trait OnceParser[+T] extends Parser[T]

    Permalink
    Definition Classes
    Parsers
  7. sealed abstract class ParseResult[+T] extends AnyRef

    Permalink
    Definition Classes
    Parsers
  8. abstract class Parser[+T] extends (Input) ⇒ ParseResult[T]

    Permalink
    Definition Classes
    Parsers
  9. case class Success[+T] extends ParseResult[T] with Product with Serializable

    Permalink
    Definition Classes
    Parsers
  10. case class ~[+a, +b] extends Product with Serializable

    Permalink
    Definition Classes
    Parsers

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def OnceParser[T](f: (Input) ⇒ ParseResult[T]): Parser[T] with OnceParser[T]

    Permalink
    Definition Classes
    Parsers
  5. def Parser[T](f: (Input) ⇒ ParseResult[T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  6. def accept[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]

    Permalink
    Definition Classes
    Parsers
  7. def accept[ES](es: ES)(implicit arg0: (ES) ⇒ List[Elem]): Parser[List[Elem]]

    Permalink
    Definition Classes
    Parsers
  8. implicit def accept(e: Elem): Parser[Elem]

    Permalink
    Definition Classes
    Parsers
  9. def acceptIf(p: (Elem) ⇒ Boolean)(err: (Elem) ⇒ String): Parser[Elem]

    Permalink
    Definition Classes
    Parsers
  10. def acceptMatch[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]

    Permalink
    Definition Classes
    Parsers
  11. def acceptSeq[ES](es: ES)(implicit arg0: (ES) ⇒ Iterable[Elem]): Parser[List[Elem]]

    Permalink
    Definition Classes
    Parsers
  12. lazy val annotation: Parser[(String, String)]

    Permalink
  13. lazy val annotationGroup: Parser[Map[String, String]]

    Permalink
  14. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  15. lazy val baseType: Parser[BaseType]

    Permalink
  16. lazy val boolLiteral: Parser[BoolLiteral]

    Permalink
  17. def chainl1[T, U](first: ⇒ Parser[T], p: ⇒ Parser[U], q: ⇒ Parser[(T, U) ⇒ T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  18. def chainl1[T](p: ⇒ Parser[T], q: ⇒ Parser[(T, T) ⇒ T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  19. def chainr1[T, U](p: ⇒ Parser[T], q: ⇒ Parser[(T, U) ⇒ U], combine: (T, U) ⇒ U, first: U): Parser[U]

    Permalink
    Definition Classes
    Parsers
  20. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. lazy val comments: Parser[String]

    Permalink

    Matches scaladoc/javadoc style comments.

  22. def commit[T](p: ⇒ Parser[T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  23. lazy val const: Parser[ConstDefinition]

    Permalink
  24. lazy val containerType: Parser[ContainerType]

    Permalink
  25. lazy val cppInclude: Parser[CppInclude]

    Permalink
  26. lazy val cppType: Parser[String]

    Permalink
  27. lazy val defaultedAnnotations: Parser[Map[String, String]]

    Permalink
  28. lazy val definition: Parser[Definition with Product with Serializable]

    Permalink
  29. val docComment: Parser[String]

    Permalink
  30. lazy val document: Parser[Document]

    Permalink
  31. lazy val doubleQuotedString: Regex

    Permalink
  32. def elem(e: Elem): Parser[Elem]

    Permalink
    Definition Classes
    Parsers
  33. def elem(kind: String, p: (Elem) ⇒ Boolean): Parser[Elem]

    Permalink
    Definition Classes
    Parsers
  34. lazy val enum: Parser[Enum]

    Permalink
  35. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  36. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  37. def err(msg: String): Parser[Nothing]

    Permalink
    Definition Classes
    Parsers
  38. lazy val exception: Parser[Exception_]

    Permalink
  39. def failOrWarn(ex: ParseWarning): Unit

    Permalink
  40. def failure(msg: String): Parser[Nothing]

    Permalink
    Definition Classes
    Parsers
  41. lazy val field: Parser[Field]

    Permalink
  42. lazy val fieldId: Parser[Int]

    Permalink
  43. lazy val fieldReq: Parser[Requiredness with Product with Serializable]

    Permalink
  44. lazy val fieldType: Parser[FieldType]

    Permalink
  45. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  46. def fixFieldIds(fields: List[Field]): List[Field]

    Permalink
  47. lazy val function: Parser[Function]

    Permalink
  48. lazy val functionType: Parser[FunctionType]

    Permalink
  49. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  50. def guard[T](p: ⇒ Parser[T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  51. def handleWhiteSpace(source: CharSequence, offset: Int): Int

    Permalink
    Attributes
    protected
    Definition Classes
    RegexParsers
  52. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  53. lazy val header: Parser[Header]

    Permalink
  54. lazy val idRHS: Parser[IdRHS]

    Permalink
  55. lazy val identifier: Parser[Identifier]

    Permalink
  56. val identifierRegex: Regex

    Permalink

    The places where both SimpleIDs and QualifiedIDs are allowed, in which case we use Identifier:

    The places where both SimpleIDs and QualifiedIDs are allowed, in which case we use Identifier:

    • right hand side of an assignment
    • namespace declaration For all other places, only SimpleIDs are allowed. Specifically
    • right hand side of an assignment.

    Note that Scala parser does not support left recursion well. We cannot do something like this which is more intuitive:

    def qualifiedID = (simpleID <~ "\\.") ~ repsep(simpleID, "\\.".r) ^^ { case id ~ ids => QualifiedID((id +: ids) map { _.name }) }

    def identifier: Parser[Identifier] = qualifiedID | simpleID

  57. lazy val include: Parser[Include]

    Permalink
  58. lazy val intConstant: Parser[IntLiteral]

    Permalink
  59. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  60. lazy val keyval: Parser[(RHS, RHS)]

    Permalink
  61. lazy val listOrMapRHS: Parser[ListRHS]

    Permalink
  62. lazy val listSeparator: Regex

    Permalink
  63. lazy val listType: Parser[ListType]

    Permalink
  64. implicit def literal(s: String): Parser[String]

    Permalink
    Definition Classes
    RegexParsers
  65. def log[T](p: ⇒ Parser[T])(name: String): Parser[T]

    Permalink
    Definition Classes
    Parsers
  66. lazy val mapRHS: Parser[MapRHS]

    Permalink
  67. lazy val mapType: Parser[MapType]

    Permalink
  68. def mkList[T]: (~[T, List[T]]) ⇒ List[T]

    Permalink
    Definition Classes
    Parsers
  69. lazy val namespace: Parser[Namespace]

    Permalink
  70. lazy val namespaceScope: Parser[String]

    Permalink
  71. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  72. def not[T](p: ⇒ Parser[T]): Parser[Unit]

    Permalink
    Definition Classes
    Parsers
  73. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  74. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  75. lazy val numberLiteral: Parser[Literal with Product with Serializable]

    Permalink
  76. def opt[T](p: ⇒ Parser[T]): Parser[Option[T]]

    Permalink
    Definition Classes
    Parsers
  77. def parse[T](in: String, parser: Parser[T], file: Option[String] = None): T

    Permalink
  78. def parse[T](p: Parser[T], in: Reader): ParseResult[T]

    Permalink
    Definition Classes
    RegexParsers
  79. def parse[T](p: Parser[T], in: CharSequence): ParseResult[T]

    Permalink
    Definition Classes
    RegexParsers
  80. def parse[T](p: Parser[T], in: Reader[Char]): ParseResult[T]

    Permalink
    Definition Classes
    RegexParsers
  81. def parseAll[T](p: Parser[T], in: CharSequence): ParseResult[T]

    Permalink
    Definition Classes
    RegexParsers
  82. def parseAll[T](p: Parser[T], in: Reader): ParseResult[T]

    Permalink
    Definition Classes
    RegexParsers
  83. def parseAll[T](p: Parser[T], in: Reader[Char]): ParseResult[T]

    Permalink
    Definition Classes
    RegexParsers
  84. def parseFile(filename: String): Document

    Permalink
  85. def phrase[T](p: Parser[T]): Parser[T]

    Permalink
    Definition Classes
    RegexParsers → Parsers
  86. def positioned[T <: Positional](p: ⇒ Parser[T]): Parser[T]

    Permalink
    Definition Classes
    RegexParsers → Parsers
  87. lazy val referenceType: Parser[ReferenceType]

    Permalink
  88. implicit def regex(r: Regex): Parser[String]

    Permalink
    Definition Classes
    RegexParsers
  89. def rep[T](p: ⇒ Parser[T]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  90. def rep1[T](first: ⇒ Parser[T], p0: ⇒ Parser[T]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
    Annotations
    @migration
    Migration

    (Changed in version 2.9.0) The p0 call-by-name arguments is evaluated at most once per constructed Parser object, instead of on every need that arises during parsing.

  91. def rep1[T](p: ⇒ Parser[T]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  92. def rep1sep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  93. def repN[T](num: Int, p: ⇒ Parser[T]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  94. def repsep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  95. lazy val rhs: Parser[RHS]

    Permalink
  96. lazy val senum: Parser[Senum]

    Permalink
  97. lazy val service: Parser[Service]

    Permalink
  98. lazy val serviceParentID: Parser[ServiceParent]

    Permalink
  99. lazy val setType: Parser[SetType]

    Permalink
  100. lazy val simpleID: Parser[SimpleID]

    Permalink
  101. lazy val simpleIDRegex: Regex

    Permalink
  102. lazy val singleQuotedString: Regex

    Permalink
  103. def skipWhitespace: Boolean

    Permalink
    Definition Classes
    RegexParsers
  104. lazy val stringLiteral: Parser[StringLiteral]

    Permalink
  105. lazy val struct: Parser[Struct]

    Permalink
  106. def structLike(keyword: String): Parser[~[~[~[Option[String], SimpleID], List[Field]], Map[String, String]]]

    Permalink
  107. def success[T](v: T): Parser[T]

    Permalink
    Definition Classes
    Parsers
  108. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  109. lazy val throws: Parser[List[Field]]

    Permalink
  110. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  111. lazy val typedef: Parser[Typedef]

    Permalink
  112. lazy val union: Parser[Union]

    Permalink
  113. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  114. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  115. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  116. val whiteSpace: Regex

    Permalink
    Definition Classes
    ThriftParser → RegexParsers

Inherited from RegexParsers

Inherited from Parsers

Inherited from AnyRef

Inherited from Any

Ungrouped