Module Expr
Provides classes for working with expressions.
Import path
import semmle.go.ExprImports
| 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, |
| ArithmeticExpr | An expression with an arithmetic operator like |
| ArithmeticUnaryExpr | An expression with a unary arithmetic operator, that is, unary |
| 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, |
| BitwiseExpr | An expression with a bitwise operator such as |
| 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, |
| 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 |
| EqlExpr | An equality test using |
| EqualityTestExpr | An equality test, that is, |
| 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, |
| LogicalExpr | An expression with a logical operator like |
| 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 |
| 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, |
| 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, |
| 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. |