Package-level declarations

Types

Link copied to clipboard

A binary build constraint expression. Currently, only && and || as operatorCode are supported.

Link copied to clipboard

Go allows to specify so-called build constraints on files, to specify conditions on which they should be built (or not).

Link copied to clipboard

A simple parenthesis around a build constraint, which can be used to logically group expressions.

Link copied to clipboard

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.

Link copied to clipboard

A unary build constraint expression. Currently, only ! as operatorCode for a negation is supported.

Link copied to clipboard

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.

Link copied to clipboard
interface GoStandardLibrary : Library

This interface represents parts of the Go standard library used by C wrapper functions and JNA.

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

In Go, types can be constructed based on existing types (see underlyingType) and if given a name, they are considered a named type.

Link copied to clipboard

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.

Functions

Link copied to clipboard
fun funcTypeName(paramTypes: List<Type>, returnTypes: List<Type>): String

This function produces a Go-style function type name such as func(int, string) string or func(int) (error, string)

Link copied to clipboard
fun <T : PointerType, S : PointerType> T.list(numFunc: (T) -> Int, itemFunc: (T, Int) -> S): MutableList<S>