Package-level declarations
Types
A binary build constraint expression. Currently, only &&
and ||
as operatorCode are supported.
Go allows to specify so-called build constraints on files, to specify conditions on which they should be built (or not).
A simple parenthesis around a build constraint, which can be used to logically group expressions.
The usage of a tag as a build constraint expression. This is the simplest form of expression and will return true if the tag is contained in the list of available tags.
A unary build constraint expression. Currently, only !
as operatorCode for a negation is supported.
The Go language.
A language frontend for the GoLanguage. It makes use the internal go/ast package of the Go runtime to parse the AST of a Go program. We make use of JNA to call a dynamic library which exports C function wrappers around the Go API. This is needed because we cannot directly export Go structs and pointers to C.
This interface represents parts of the Go standard library used by C wrapper functions and JNA.
Properties
In Go, types can be constructed based on existing types (see underlyingType) and if given a name, they are considered a named type.
Go has the concept of the underlying type, in which new named types can be created on top of existing core types (such as function types, slices, etc.). The named types then derive certain properties of their underlying type.