package
1.27.0
Repository: https://github.com/github/codeql-go.git
Documentation: pkg.go.dev

# Functions

AddDefaultSnippet adds the given text `snippet` to the schema of this database.
EntityColumn constructs a column with name `columnName` holding entities of type `columnType`.
IntColumn constructs a column with name `columnName` holding integer values.
NewAliasType constructs a new alias type with the given `name` that aliases `underlying`.
NewCaseType constructs a new case type on the given `base` type whose discriminator values come from `column`.
NewPrimaryKeyType constructs a new primary key type with the given `name`, and adds it to the union types `parents` (if any).
NewTable constructs a new table with the given `name` and `columns`.
NewUnionType constructs a new union type with the given `name`, and adds it to the union types `parents` (if any).
PrintDbScheme prints the schema of this database to the writer `w`.
StringColumn constructs a column with name `columnName` holding string values.

# Constants

BOOLEAN represents the primitive database type `boolean`.
DATE represents the primitive database type `date`.
FLOAT represents the primitive database type `float`.
INT represents the primitive database type `int`.
STRING represents the primitive database type `string`.

# Variables

AliasSpecType is the type of type declaration specification nodes corresponding to alias declarations.
ArithmeticBinaryExpr is the type of arithmetic binary operator expression AST nodes.
ArithmeticExpr is the type of arithmetic operator expression AST nodes.
ArithmeticUnaryExpr is the type of arithmetic unary operator expression AST nodes.
ArrayLengthTable is the table associating array types with their length (represented as a string since Go array lengths are 64-bit and hence do not always fit into a QL integer).
ArrayType is the type of array types.
ArrayTypeExpr is the type of array type AST nodes.
AssignmentType is the type of assignment statement AST nodes.
AssignStmtTypes is a map from assignmnt operator tokens to corresponding AST node types.
BadDeclType is the type of bad (that is, unparseable) declaration AST nodes.
BadExpr is type of bad (that is, unparseable) expression AST nodes.
BadStmtType is the type of bad (that is, unparseable) statement AST nodes.
BaseTypeTable is the table associating pointer types with their base type.
BasicLitExpr is the type of basic (that is, primitive) literal expression AST nodes.
BasicType is the union of all basic types.
BasicTypes is a map from basic type kinds to the corresponding entity types.
BinaryExpr is the type of binary operator expression AST nodes.
BinaryExprs is a map from binary operator tokens to the corresponding AST node type.
BitwiseBinaryExpr is the type of bitwise binary operator expression AST nodes.
BitwiseExpr is the type of bitwise operator expression AST nodes.
BitwiseUnaryExpr is the type of bitwise unary operator expression AST nodes.
BlockStmtType is the type of block statement AST nodes.
BoolType is the union of the normal and literal bool types.
BranchStmtType is the type of branch statement AST nodes.
BreakStmtType is the type of break statement AST nodes.
BuiltinConstObjectType is the type of built-in constants.
BuiltinFuncObjectType is the type of built-in functions.
BuiltinObjectType is the type of built-in objects.
BuiltinTypeObjectType is the type of built-in named types.
CallOrConversionExpr is the type of call and conversion expression AST nodes (which cannot be distinguished by purely syntactic criteria).
CaseClauseType is the type of case clause AST nodes.
ChanType is the type of channel types.
ChanTypeExpr is the type of channel type AST nodes.
ChanTypeExprs is a map from channel type expressions to the corresponding AST node type.
ChanTypes is a map from channel type directions to the corresponding type.
CharLitExpr is the type of character literal expression AST nodes.
CommClauseType is the type of comm clause AST ndoes.
CommentGroupsTable is the table defining comment group entities.
CommentGroupType is the type of comment groups.
CommentKind is a case type for distinguishing different kinds of comments.
CommentsTable is the table defining comment entities.
CommentType is the type of comments.
Comparison is the type of comparison operator expression AST nodes.
ComplexType is the union of complex types.
ComponentTypesTable is the table associating composite types with their component types.
CompositeLitExpr is the type of composite literal expression AST nodes.
CompositeType is the type of all composite (that is, non-basic) types.
CompoundAssignStmtType is the type of compound assignment statement AST nodes.
ConstDeclType is the type of constant declaration AST nodes.
ConstObjectType is the type of declared or built-in constants.
ConstValuesTable is the table associating constant expressions with their values.
ContainerParentTable is the table defining the parent-child relation among container entities.
ContainerType is the type of files and folders.
ContinueStmtType is the type of continue statement AST nodes.
DeclConstObjectType is the type of declared constants.
DeclFuncObjectType is the type of declared functions, including (abstract and concrete) methods.
DeclKind is a case type for distinguishing different kinds of declaration AST nodes.
DeclObjectType is the type of declared objects.
DeclParentType is the type of AST nodes that can have declarations as children.
DeclsTable is the table defining declaration AST nodes.
DeclStmtType is the type of declaration statement AST nodes.
DeclType is the type of declaration AST nodes.
DeclTypeObjectType is the type of declared named types.
DeclVarObjectType is the type of declared variables including function parameters, results and struct fields.
DecStmtType is the type of decrement statement AST nodes.
DeferStmtType is the type of defer statement AST nodes.
DefsTable maps identifiers to the objects they define.
DocCommentsTable is the table associating doc comments with the nodes they document.
DocumentableType is the type of AST nodes to which documentation can be attached.
ElementContainerType is the type of types that have elements, such as arrays and channels.
ElementTypeTable is the table associating container types with their element type.
EllipsisExpr is the type of ellipsis expression AST nodes.
EmptyStmtType is the type of empty statement AST nodes.
EqualityTest is the type of equality operator expression AST nodes.
ErrorKind is a case type for distinguishing different kinds of frontend errors.
ErrorsTable is the table describing frontend errors.
ErrorType is the type of frontend errors.
ErrorTypes is a map from error kinds to the corresponding type.
ExprKind is a case type for distinguishing different kinds of expression AST nodes.
ExprParentType is the type of AST nodes that can have expressions as children.
ExprsTable is the table defining expression AST nodes.
ExprStmtType is the type of expressio statemement AST nodes.
ExprSwitchStmtType is the type of expression-switch statement AST nodes.
ExprType is the type of expression AST nodes.
FallthroughStmtType is the type of fallthrough statement AST nodes.
FieldParentType is the type of AST nodes that can have fields as children.
FieldsTable is the table defining field AST nodes.
FieldStructsTable maps fields to the structs they are in.
FieldType is the type of field AST nodes.
FilesTable is the table defining file nodes.
FileType is the type of file AST nodes.
FloatLitExpr is the type of floating-point literal expression AST nodes.
FloatType is the union of floating-point types.
FoldersTable is the table defining folder entities.
FolderType is the type of folders.
ForStmtType is the type of for statement AST nodes.
FuncDeclType is the type of function declaration AST nodes.
FuncDefType is the type of AST nodes that define functions, that is, function declarations and function literals.
FuncLitExpr is the type of function literal expression AST nodes.
FunctionObjectType is the type of declared or built-in functions.
FuncTypeExpr is the type of function type AST nodes.
GenDeclType is the type of generic declaration AST nodes.
GoStmtType is the type of go statement AST nodes.
GotoStmtType is the type of goto statement AST nodes.
No description provided by the author
HasLocationTable is the table associating entities with their locations.
IdentExpr is the type of identifier expression AST nodes.
IfStmtType is the type of if statement AST nodes.
ImagLitExpr is the type of imaginary literal expression AST nodes.
ImportDeclType is the type of import declaration AST nodes.
ImportSpecType is the type of import declaration specification nodes.
IncDecStmtType is the type of increment/decrement statement AST nodes.
IncStmtType is the type of increment statement AST nodes.
IndexExpr is the type of index expression AST nodes.
IntegerType is the union of integer types.
InterfaceType is the type of interface types.
InterfaceTypeExpr is the type of interface type AST nodes.
IntLitExpr is a case type for dishinguishing different kinds of literal expression AST nodes.
KeyTypeTable is the table associating maps with their key type.
KeyValueExpr is the type of key-value expression AST nodes.
LabeledStmtType is the type of labeled statement AST nodes.
LabelObjectType is the type of statement labels.
LiteralsTable is the table associating literal expression AST nodes with their values.
LiteralType is the union of literal types.
LocalScopeType is the type of local (that is, non-universe, non-package) scopes.
LocatableType is the type of program entities that have locations.
LocationDefaultType is the type of source locations.
LocationsDefaultTable is the table defining location objects.
LocationType is an alias for LocationDefaultType.
LogicalBinaryExpr is the type of logical binary operator expression AST nodes.
LogicalExpr is the type of logical operator expression AST nodes.
LogicalUnaryExpr is the type of logical unary operator expression AST nodes.
LoopStmtType is the type of loop statement AST nodes (including for statements and range statements).
MapType is the type of map types.
MapTypeExpr is the type of map type AST nodes.
MethodHostsTable maps interface methods to the named type they belong to.
MethodReceiversTable maps methods to their receiver.
ModCommentBlockType is the type of go.mod comment block AST nodes.
ModExprKind is a case type for distinguishing different kinds of go.mod expression nodes.
ModExprParentType is the type of go.mod nodes that can have go.mod expressions as children.
ModExprsTable is the table defining expression AST nodes for go.mod files.
ModExprType is the type of go.mod expression nodes.
ModLineBlockType is the type of go.mod line block AST nodes.
ModLineType is the type of go.mod line AST nodes.
ModLParenType is the type of go.mod line block start AST nodes.
ModRParenType is the type of go.mod line block end AST nodes.
ModTokensTable is the table associating go.mod tokens with their Line or LineBlock.
NamedType is the type of named types.
NodeType is the type of AST nodes.
NumericType is the union of numeric types.
NumlinesTable is the table containing LoC information.
ObjectKind is a case type for distinguishing different kinds of built-in and declared objects.
ObjectScopesTable is the table describing the scope to which an object belongs (if any).
ObjectsTable is the table describing objects (that is, declared entities).
ObjectType is the type of objects (that is, declared entities).
ObjectTypesTable is the table describing the type of an object (if any).
OperatorExpr is the type of operator expression AST nodes.
PackageScopeType is the type of package scopes.
PackagesTable is the table describing packages.
PackageType is the type of packages.
ParenExpr is the type of parenthesis expression AST nodes.
PkgObjectType is the type of imported packages.
PointerType is the type of pointer types.
RangeStmtType is the type of range statement AST nodes.
RelationalComparison is the type of relational operator expression AST nodes.
ReturnStmtType is the type of return statement AST nodes.
ScopeKind is a case type for distinguishing different kinds of scopes.
ScopeNestingTable is the table describing scope nesting.
ScopeNodesTable is the table associating local scopes with the AST nodes that induce them.
ScopeNodeType is the type of AST nodes that may have a scope attached to them.
ScopesTable is the table defining scopes.
ScopeType is the type of scopes.
SelectorExpr is the type of selector expression AST nodes.
SelectStmtType is the type of select statement AST nodes.
SendStmtType is the type of send statement AST nodes.
ShiftExpr is the type of shift operator expression AST nodes.
SignatureType is the type of signature types.
SignedIntegerType is the union of signed integer types.
SimpleAssignStmtType is the type of simple (i.e., non-compound) assignment statement AST nodes.
SlashSlashComment is the type of single-line comments starting with a double slash.
SlashStarComment is the type of block comments delimited by stars and slashes.
SliceExpr is the type of slice expression AST nodes.
SliceType is the type of slice types.
SourceLineType is an alias for LocatableType.
SpecKind is a case type for distinguishing different kinds of declaration specification nodes.
SpecsTable is the table defining declaration specification AST nodes.
SpecType is the type of spec AST nodes.
StarExpr is the type of star expression AST nodes.
StmtKind is a case type for distinguishing different kinds of statement AST nodes.
StmtParentType is the type of AST nodes that can have statements as children.
StmtsTable is the table defining statement AST nodes.
StmtType is the type of statement AST nodes.
StringLitExpr is the type of string literal expression AST nodes.
StringType is the union of the normal and literal string types.
StructType is the type of struct types.
StructTypeExpr is the type of struct type AST nodes.
SwitchStmtType is the type of switch statement AST nodes, covering both expression switch and type switch.
TupleType is the type of tuple types.
TypeAssertExpr is the type of type assertion expression AST nodes.
TypeDeclType is the type of type declaration AST nodes.
TypeDefSpecType is the type of type declaration specification nodes corresponding to type definitions.
TypeKind is a case type for distinguishing different kinds of types.
TypeNameTable is the table associating named types with their names.
TypeObjectTable maps types to their corresponding objects, if any.
TypeObjectType is the type of declared or built-in named types.
TypeOfTable is the table associating expressions with their types (if known).
TypeSpecType is the type of type declaration specification nodes.
TypesTable is the table describing types.
TypeSwitchStmtType is the type of type-switch statement AST nodes.
TypeType is the type of types.
UnaryExpr is the type of unary operator expression AST nodes.
UnaryExprs is a map from unary operator tokens to the corresponding AST node type.
UnderlyingTypeTable is the table associating named types with their underlying type.
UniverseScopeType is the type of the universe scope.
UnsignedIntegerType is the union of unsigned integer types.
UsesTable maps identifiers to the objects they denote.
ValueObjectType is the type of declared or built-in variables or constants.
ValueSpecType is the type of value declaration specification nodes.
VarDeclType is the type of variable declaration AST nodes.
VarObjectType is the type of declared or built-in variables (the latter do not currently exist).

# Structs

An AliasType represents a database type which is an alias of another database type.
A BranchType represents one branch of a case type.
A CaseType represents a database type defined by a primary key column with a supplementary kind column.
A Column represents a column in a database table.
A PrimaryKeyType represents a database type defined by a primary key column.
A Table represents a database table.
A UnionType represents a database type defined as the union of other database types.

# Interfaces

A Type represents a database type.

# Type aliases

A PrimitiveType represents a primitive dataase type.