This class represents a Thrift source file.
This class represents a Thrift source file.
It can provide the path to a file, the AST of the program in the file, the name of the file, and the names of the included files.
TypeDeclarations are used to bridge the gap between the type information contained in the TypeRegistry (which can only resolve types included in the same file) and the type information needed to compile a file (which might span several source files, because of includes).
TypeDeclarations are used to bridge the gap between the type information contained in the TypeRegistry (which can only resolve types included in the same file) and the type information needed to compile a file (which might span several source files, because of includes).
TypeDeclarationResolver will look across several source files and resolve all the types declared in any of those files.
The following Thrift keywords can declare new types: enum, struct, union, exception, service, typedef.
From package.scala: type EnhancedTypes = (TypeReference, Seq[Annotation], Scope) => Option[TypeReference]
Utilities for dealing with scopes in Thrift.
Utilities for dealing with scopes in Thrift.
From package.scala: type Scope = Map[String, TypeDeclaration]