qtil
advanced-security/qtil-go 0.0.3
Search

Module Expr

Provides classes for working with expressions.

Import path

import semmle.go.Expr

Imports

go

Provides classes for working with Go programs.

Classes

AddExpr

An addition expression using +.

AddressExpr

A unary address-of expression using &.

AndExpr

A bitwise and-expression using &.

AndNotExpr

A bitwise and-not expression using &^.

ArithmeticBinaryExpr

A binary arithmetic expression, that is, +, -, *, / or %.

ArithmeticExpr

An expression with an arithmetic operator like - or /.

ArithmeticUnaryExpr

An expression with a unary arithmetic operator, that is, unary - or +.

ArrayLit

An array literal.

ArrayOrSliceLit

An array or slice literal.

ArrayTypeExpr

An expression representing an array type.

BadExpr

A bad expression, that is, an expression that could not be parsed.

BasicLit

A literal expression of basic type.

BinaryExpr

A binary expression.

BitwiseBinaryExpr

A binary bitwise expression, that is, <<, >>, |, ^, & or &^.

BitwiseExpr

An expression with a bitwise operator such as ^ or |.

BitwiseUnaryExpr

An expression with a unary bitwise operator, that is, ^.

BlankIdent

The blank identifier _.

CallExpr

A function call expression.

CallOrConversionExpr

An expression that syntactically could either be a function call or a type conversion expression.

ChanTypeExpr

An expression representing a channel type.

CharLit

A rune literal.

ComparisonExpr

A comparison expression, that is, ==, !=, <, <=, >= or >.

ComplementExpr

A unary complement expression using ^.

CompositeLit

A composite literal

ConstantName

A name referring to a constant.

ConversionExpr

A type conversion expression.

DerefExpr

A unary pointer-dereference expression.

Ellipsis

An ellipsis expression, representing either the ... type in a parameter list or the ... length in an array type.

EqlExpr

An equality test using ==.

EqualityTestExpr

An equality test, that is, == or !=.

Expr

An expression.

FloatLit

A floating-point literal.

FuncLit

A function literal.

FuncTypeExpr

An expression representing a function type.

FunctionName

A name referring to a function.

GenericFunctionInstantiationExpr

A generic function instantiation, that is, a base expression that represents a generic function, followed by a list of type arguments.

GenericTypeInstantiationExpr

A generic type instantiation, that is, a base expression that is a generic type followed by a list of type arguments.

GeqExpr

A greater-than-or-equal test using >=.

GtrExpr

A greater-than test using >.

Ident

An identifier.

ImagLit

An imaginary literal.

IndexExpr

An index expression, that is, a base expression followed by an index. Expressions which represent generic type instantiations have been excluded.

IntLit

An integer literal.

InterfaceTypeExpr

An expression representing an interface type.

KeyValueExpr

A key-value pair in a composite literal.

LabelName

A name referring to a statement label.

LandExpr

A logical-and expression using &&.

LeqExpr

A less-than-or-equal test using <=.

Literal

A literal expression.

LogicalBinaryExpr

A binary logical expression, that is, && or ||.

LogicalExpr

An expression with a logical operator like ! or &&.

LogicalUnaryExpr

An expression with a unary logical operator, that is, !.

LorExpr

A logical-or expression using ||.

LssExpr

A less-than test using <.

MapLit

A map literal.

MapTypeExpr

An expression representing a map type.

MinusExpr

A unary minus expression using -.

MulExpr

A multiplication expression using *.

Name

A (possibly qualified) name referring to a package, type, constant, variable, function or label.

NeqExpr

An inequality test using !=.

NotExpr

A unary “not” expression using !.

OperatorExpr

An expression with a (unary or binary) operator.

OrExpr

A bitwise or expression using |.

PackageName

A name referring to an imported package.

ParenExpr

A parenthesized expression.

PlusExpr

A unary plus expression using +.

PromotedSelector

A selector expression that refers to a promoted field or a promoted method. These selectors may implicitly address an embedded struct of their base type - for example, the selector x.field may implicitly address x.Embedded.field). Note they may also explicitly address field; being a PromotedSelector only indicates the addressed field or method may be promoted, not that it is promoted in this particular context.

QualifiedName

A qualified name.

QuoExpr

A division or quotient expression using /.

RecvChanTypeExpr

An expression representing a receive-only channel type.

RecvExpr

A unary receive expression using <-.

ReferenceExpr

An expression referring to a memory location.

RelationalComparisonExpr

A relational comparison, that is, <, <=, >= or >.

RemExpr

A remainder or modulo expression using %.

SelectorExpr

A selector expression, that is, a base expression followed by a selector.

SendChanTypeExpr

An expression representing a send-only channel type.

SendRecvChanTypeExpr

An expression representing a duplex channel type that can both send and receive data.

ShiftExpr

A shift expression, that is, << or >>.

ShlExpr

A left-shift expression using <<.

ShrExpr

A right-shift expression using >>.

SimpleName

A simple (that is, unqualified) name.

SliceExpr

A slice expression, that is, a base expression followed by slice indices.

SliceLit

A slice literal.

StarExpr

A star expression.

StringLit

A string literal.

StructLit

A struct literal.

StructTypeExpr

An expression representing a struct type.

SubExpr

A subtraction expression using -.

TypeAssertExpr

A type assertion expression.

TypeExpr

An expression referring to a type.

TypeName

A name referring to a type.

TypeSetLiteralExpr

An expression representing a type set literal.

UnaryExpr

An expression with a unary operator.

ValueExpr

An expression that refers to a value (as opposed to a package, a type or a statement label).

ValueName

A name referring to a value, that is, a constant, variable or function.

VariableName

A name referring to a variable.

XorExpr

An exclusive-or expression using ^.

Aliases

BitAndExpr

A bitwise and-expression using &.

BitOrExpr

A bitwise or expression using |.

DivExpr

A division or quotient expression using /.

EqExpr

An equality test using ==.

GEExpr

A greater-than-or-equal test using >=.

GTExpr

A greater-than test using >.

LEExpr

A less-than-or-equal test using <=.

LShiftExpr

A left-shift expression using <<.

LTExpr

A less-than test using <.

LogAndExpr

A logical-and expression using &&.

LogOrExpr

A logical-or expression using ||.

ModExpr

A remainder or modulo expression using %.

RShiftExpr

A right-shift expression using >>.

RuneLit

A rune literal.