com.twitter.scrooge

ast

package ast

Visibility
  1. Public
  2. All

Type Members

  1. case class AnnotatedFieldType extends TypeNode with FieldType with Product with Serializable

    AnnotatedFieldType is used to be able to annotate arbitrary FieldTypes.

  2. sealed trait BaseType extends TypeNode with FieldType

  3. case class BoolLiteral(value: Boolean) extends Literal with Product with Serializable

  4. case class ConstDefinition(sid: SimpleID, fieldType: FieldType, value: RHS, docstring: Option[String]) extends Definition with Product with Serializable

  5. sealed abstract class ContainerType extends TypeNode with FieldType

  6. case class CppInclude(file: String) extends Header with Product with Serializable

  7. sealed abstract class Definition extends DefinitionNode

  8. abstract class DefinitionNode extends Node

  9. case class Document(headers: Seq[Header], defs: Seq[Definition]) extends DocumentNode with Product with Serializable

  10. abstract class DocumentNode extends Node

  11. case class DoubleLiteral(value: Double) extends Literal with Product with Serializable

  12. case class Enum(sid: SimpleID, values: Seq[EnumField], docstring: Option[String], annotations: Map[String, String] = ...) extends Definition with Product with Serializable

  13. case class EnumField(sid: SimpleID, value: Int, docstring: Option[String], annotations: Map[String, String] = ...) extends Definition with Product with Serializable

  14. case class EnumRHS(enum: Enum, value: EnumField) extends RHS with Product with Serializable

  15. case class EnumType(enum: Enum, scopePrefix: Option[Identifier] = scala.None) extends TypeNode with NamedType with Product with Serializable

  16. case class Exception_(sid: SimpleID, originalName: String, fields: Seq[Field], docstring: Option[String], annotations: Map[String, String] = ...) extends StructLike with Product with Serializable

  17. case class Field(index: Int, sid: SimpleID, originalName: String, fieldType: FieldType, default: Option[RHS] = scala.None, requiredness: Requiredness = Requiredness.Default, typeAnnotations: Map[String, String] = ..., fieldAnnotations: Map[String, String] = ..., docstring: Option[String] = scala.None) extends Node with Product with Serializable

  18. sealed trait FieldType extends TypeNode with FunctionType

  19. case class Function(funcName: SimpleID, originalName: String, funcType: FunctionType, args: Seq[Field], throws: Seq[Field], docstring: Option[String], annotations: Map[String, String] = ...) extends Node with Product with Serializable

  20. case class FunctionArgs(sid: SimpleID, originalName: String, fields: Seq[Field]) extends StructLike with Product with Serializable

  21. case class FunctionResult(sid: SimpleID, originalName: String, success: Option[Field], exceptions: Seq[Field]) extends StructLike with Product with Serializable

  22. sealed trait FunctionType extends TypeNode

  23. sealed abstract class Header extends HeaderNode

  24. abstract class HeaderNode extends Node

  25. abstract class IdNode extends Node

  26. case class IdRHS(id: Identifier) extends RHS with Product with Serializable

  27. sealed abstract class Identifier extends IdNode

  28. case class Include(filePath: String, document: Document) extends Header with Product with Serializable

    Process include statement.

  29. case class IntLiteral(value: Long) extends Literal with Product with Serializable

  30. case class ListRHS(elems: Seq[RHS]) extends RHS with Product with Serializable

  31. case class ListType(eltType: FieldType, cppType: Option[String]) extends ContainerType with Product with Serializable

  32. sealed abstract class Literal extends RHS

  33. case class MapRHS(elems: Seq[(RHS, RHS)]) extends RHS with Product with Serializable

  34. case class MapType(keyType: FieldType, valueType: FieldType, cppType: Option[String]) extends ContainerType with Product with Serializable

  35. sealed trait NamedType extends TypeNode with FieldType

  36. case class Namespace(language: String, id: Identifier) extends Header with Product with Serializable

  37. sealed abstract class Node extends Positional

  38. case class QualifiedID(names: Seq[String]) extends Identifier with Product with Serializable

  39. sealed abstract class RHS extends ValueNode

  40. case class ReferenceType(id: Identifier) extends TypeNode with FieldType with Product with Serializable

    ReferenceType is generated by ThriftParser in the frontend and resolved by TypeResolver.

  41. sealed abstract class Requiredness extends Node

  42. case class Senum(sid: SimpleID, values: Seq[String], annotations: Map[String, String] = ...) extends Definition with Product with Serializable

  43. case class Service(sid: SimpleID, parent: Option[ServiceParent], functions: Seq[Function], docstring: Option[String], annotations: Map[String, String] = ..., options: Set[ServiceOption] = ...) extends Definition with Product with Serializable

  44. case class ServiceParent(sid: SimpleID, filename: Option[SimpleID]) extends Product with Serializable

    Identifier for the parent service.

  45. case class SetRHS(elems: Set[RHS]) extends RHS with Product with Serializable

  46. case class SetType(eltType: FieldType, cppType: Option[String]) extends ContainerType with Product with Serializable

  47. case class SimpleID(name: String, origName: Option[String] = scala.None) extends Identifier with Product with Serializable

  48. case class StringLiteral(value: String) extends Literal with Product with Serializable

  49. case class Struct(sid: SimpleID, originalName: String, fields: Seq[Field], docstring: Option[String], annotations: Map[String, String] = ...) extends StructLike with Product with Serializable

  50. sealed abstract class StructLike extends Definition

  51. case class StructRHS(sid: SimpleID, elems: Map[Field, RHS]) extends RHS with Product with Serializable

  52. case class StructType(struct: StructLike, scopePrefix: Option[Identifier] = scala.None) extends TypeNode with NamedType with Product with Serializable

  53. abstract class TypeNode extends Node

  54. case class Typedef(sid: SimpleID, fieldType: FieldType, referentAnnotations: Map[String, String] = ..., aliasAnnotations: Map[String, String] = ...) extends Definition with Product with Serializable

  55. case class Union(sid: SimpleID, originalName: String, fields: Seq[Field], docstring: Option[String], annotations: Map[String, String] = ...) extends StructLike with Product with Serializable

  56. case class UnionRHS(sid: SimpleID, field: Field, initializer: RHS) extends RHS with Product with Serializable

  57. case class Validator(path: Identifier) extends Header with Product with Serializable

    The path that returns a custom com.twitter.scrooge.ThriftValidator.

  58. abstract class ValueNode extends Node

Value Members

  1. object AnnotatedFieldType extends Serializable

    Type builder utils where we make the best effort to unwrap nested annotated types and avoid producing extra wrappers where possible.

  2. object Identifier

  3. object NullLiteral extends Literal with Product with Serializable

  4. object OnewayVoid extends TypeNode with FunctionType with Product with Serializable

  5. object Requiredness

  6. object TBinary extends TypeNode with BaseType with Product with Serializable

  7. object TBool extends TypeNode with BaseType with Product with Serializable

  8. object TByte extends TypeNode with BaseType with Product with Serializable

  9. object TDouble extends TypeNode with BaseType with Product with Serializable

  10. object TI16 extends TypeNode with BaseType with Product with Serializable

  11. object TI32 extends TypeNode with BaseType with Product with Serializable

  12. object TI64 extends TypeNode with BaseType with Product with Serializable

  13. object TString extends TypeNode with BaseType with Product with Serializable

  14. object Void extends TypeNode with FunctionType with Product with Serializable

Ungrouped