com.twitter.scrooge

ast

package ast

Visibility
  1. Public
  2. All

Type Members

  1. sealed trait BaseType extends TypeNode with FieldType

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

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

  4. sealed abstract class ContainerType extends TypeNode with FieldType

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

  6. sealed abstract class Definition extends DefinitionNode

  7. abstract class DefinitionNode extends Node

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

  9. abstract class DocumentNode extends Node

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

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

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

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

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

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

  16. 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

  17. sealed trait FieldType extends TypeNode with FunctionType

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

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

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

  21. sealed trait FunctionType extends TypeNode

  22. sealed abstract class Header extends HeaderNode

  23. abstract class HeaderNode extends Node

  24. abstract class IdNode extends Node

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

  26. sealed abstract class Identifier extends IdNode

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

    Process include statement.

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

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

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

  31. sealed abstract class Literal extends RHS

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

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

  34. sealed trait NamedType extends TypeNode with FieldType

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

  36. sealed abstract class Node extends AnyRef

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

  38. sealed abstract class RHS extends ValueNode

  39. 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.

  40. sealed abstract class Requiredness extends Node

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

  42. case class Service(sid: SimpleID, parent: Option[ServiceParent], functions: Seq[Function], docstring: Option[String]) extends Definition with Product with Serializable

  43. case class ServiceParent(sid: SimpleID, prefix: Option[SimpleID], service: Option[Service] = scala.None) extends Product with Serializable

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

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

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

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

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

  49. sealed abstract class StructLike extends Definition

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

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

  52. abstract class TypeNode extends Node

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

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

  55. abstract class ValueNode extends Node

Value Members

  1. object Identifier

  2. object NullLiteral extends Literal with Product with Serializable

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

  4. object Requiredness

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

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

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

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

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

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

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

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

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

Ungrouped