package
2.16.4+incompatible
Repository: https://github.com/bblfsh/sdk.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
Package role is a generated protocol buffer package.
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

AsPosition transforms a generic AST node to a Position object.
ContentOf returns any relevant string content of a node.
HashNoPos hashes the node, but skips positional information.
LookupType finds a Go type corresponding to a specified UAST type.
No description provided by the author
No description provided by the author
NewPositionalIterator creates a new iterator that enumerates all object nodes, sorting them by positions in the source file.
NewValue creates a new Go value corresponding to a specified UAST type.
NodeAs loads a generic UAST node into provided Go value.
PositionsOf returns a complete positions map for the given UAST node.
RegisterPackage registers a new UAST namespace and associates the concrete types of the specified values with it.
RoleList converts a set of roles into a list node.
RolesOf is a helper for getting node UAST roles (see KeyRoles).
TokenOf is a helper for getting node token (see KeyToken).
Tokens collects all tokens of the tree recursively (pre-order).
ToNode converts generic values returned by schema-less encodings such as JSON to Node objects.
TypeOf returns the UAST type of a value.

# Constants

EndPosition.
positional information is stored in this field, see Positions.
KeyPosCol is a name for a Position object field that stores a source column.
KeyPosLine is a name for a Position object field that stores a source line.
KeyPosOff is a name for a Position object field that stores a bytes offset.
roles of UAST node (Annotated nodes only); for representations see RoleList.
StartPosition.
token of the UAST node (Native and Annotated nodes only).
the type of UAST node (InternalType in v1).
NS is a namespace for the UAST types.
TypeOperator is a node type for an operator AST node.
TypePosition is a node type for positional information in AST.
TypePositions is a node type for a root node of positional information in AST.

# Variables

ErrIncorrectType is returned when trying to load a generic UAST node into a Go value of an incorrect type.
ErrTypeNotRegistered is returned when trying to create a UAST type that was not associated with any Go type.

# Structs

Alias provides a way to assign a permanent name to an entity, or give an alternative name.
Argument is a named argument or return of a function.
Block is a logical code block.
Bool is a boolean literal.
Comment is a no-op node that can span multiple lines and provides a human-readable description for code around it.
Function is a declaration of a function with a specific signature and implementation.
FunctionType is a signature of a function.
GenNode is embedded into every UAST node to store positional information.
Group is a no-op UAST node that groups multiple nodes together.
Identifier is a name of an entity.
Import is a statement that can load other modules into the program or library.
Position represents a position in a source code file.
QualifiedIdentifier is a name of an entity that consists of multiple simple identifiers, organized in a hierarchy, similar to filesystem paths.
String is an unescaped UTF8 string literal.

# Interfaces

Any is an alias type for any UAST node.

# Type aliases

FunctionGroup is a special group node that joins multiple UAST nodes related to a function declaration.
InlineImport is a subset of import statement that acts like a preprocessor - all statements in the imported module are copied into a position of the UAST node.
Positions is a container that stores all positional information for a UAST node.
RuntimeImport is a type of an import statement that imports a module only when an execution reaches this UAST node.
RuntimeReImport is a subset of RuntimeImport statement that will re-execute an import and its side-effects statement each time an execution reaches the statement.
Scope is a temporary definition of a scope semantic type.