Documentation ¶
Index ¶
Constants ¶
View Source
const Filename = "manifest.toml"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DevelopmentStatus ¶
type DevelopmentStatus string
const ( Planning DevelopmentStatus = "planning" PreAlpha DevelopmentStatus = "pre-alpha" Alpha DevelopmentStatus = "alpha" Beta DevelopmentStatus = "beta" Stable DevelopmentStatus = "stable" Mature DevelopmentStatus = "mature" Inactive DevelopmentStatus = "inactive" )
func (DevelopmentStatus) Rank ¶
func (s DevelopmentStatus) Rank() int
Rank is an integer indicating driver stability. Higher is better.
type Feature ¶
type Feature string
Feature describes which level of information driver can produce.
const ( // AST is a basic feature required for the driver. Driver can parse files and return native language AST. AST Feature = "ast" // UAST feature indicates that driver properly converts AST to UAST without further annotating it. UAST Feature = "uast" // Roles feature indicates that driver annotates UAST with roles. All node types are annotated. Roles Feature = "roles" )
type InformationLoss ¶
type InformationLoss string
InformationLoss in terms of which kind of code generation would they allow.
const ( // Lossless no information loss converting code to AST and then back to code // would. code == codegen(AST(code)). Lossless InformationLoss = "lossless" // FormatingLoss only superfluous formatting information is lost (e.g. // whitespace, indentation). Code generated from the AST could be the same // as the original code after passing a code formatter. // fmt(code) == codegen(AST(code)). FormatingLoss InformationLoss = "formating-loss" // SyntacticSugarLoss there is information loss about syntactic sugar. Code // generated from the AST could be the same as the original code after // desugaring it. desugar(code) == codegen(AST(code)). SyntacticSugarLoss InformationLoss = "syntactic-sugar-loss" // CommentLoss comments are not present in the AST. CommentLoss InformationLoss = "formating-loss" )
type Manifest ¶
type Manifest struct { Name string `toml:"name"` // human-readable name Language string `toml:"language"` Version string `toml:"version,omitempty"` Build *time.Time `toml:"build,omitempty"` Status DevelopmentStatus `toml:"status"` InformationLoss []InformationLoss `toml:"loss"` Documentation struct { Description string `toml:"description,omitempty"` Caveats string `toml:"caveats,omitempty"` } `toml:"documentation,omitempty"` Runtime struct { OS OS `toml:"os"` NativeVersion Versions `toml:"native_version"` NativeEncoding string `toml:"native_encoding"` GoVersion string `toml:"go_version"` } `toml:"runtime"` Features []Feature `toml:"features"` }
Click to show internal directories.
Click to hide internal directories.