Class Expr
An expression. Either an access (Access), a call (Call), an object or
collection initializer (ObjectOrCollectionInitializer), a delegate
creation (DelegateCreation), an array initializer (ArrayInitializer), an
array creation (ArrayCreation), an anonymous function
(AnonymousFunctionExpr), a local variable declaration
(LocalVariableDeclExpr), an operation (Operation), a parenthesized
expression (ParenthesizedExpr), a checked expression (CheckedExpr), an
unchecked expression (UncheckedExpr), an is expression (IsExpr), an
as expression (AsExpr), a cast (CastExpr), a typeof expression
(TypeofExpr), a default expression (DefaultValueExpr), an await
expression (AwaitExpr), a nameof expression (NameOfExpr), an
interpolated string (InterpolatedStringExpr), an interpolated string
insert (InterpolatedStringInsertExpr), a qualifiable expression (QualifiableExpr),
or a literal (Literal).
Import path
import csharpDirect supertypes
Indirect supertypes
Known direct subtypes
- Access
- AccessOrCallExpr
- AlwaysNullExpr
- AnonymousFunctionExpr
- ArrayCreation
- ArrayInitializer
- AuthExpr
- AwaitExpr
- Call
- Cast
- CheckedExpr
- CollectionExpression
- DefaultValueExpr
- DefineSymbolExpr
- DelegateCreation
- DereferenceableExpr
- DiscardExpr
- EnumerableCollectionExpr
- EventAccessExpr
- HtmlSanitizedExpr
- ImplicitToStringExpr
- IndexExpr
- IndexerAccessExpr
- InterpolatedStringExpr
- InterpolatedStringInsertExpr
- IsExpr
- LateBindableExpr
- Literal
- LocalVariableDeclExpr
- MaybeNullExpr
- NameOfExpr
- NonNullExpr
- ObjectOrCollectionInitializer
- Operation
- ParenthesizedExpr
- PasswordExpr
- PatternExpr
- PrivateDataExpr
- PropertyAccessExpr
- QualifiableExpr
- RangeExpr
- RefExpr
- SensitiveExpr
- SpreadElementExpr
- SqlExpr
- SuppressNullableWarningExpr
- SwitchCaseExpr
- SwitchExpr
- ThrowExpr
- TupleExpr
- TypeofExpr
- UncheckedExpr
- UrlSanitizedExpr
- WithExpr
- XmlReaderSettingsInstance
Predicates
| getALocation | Gets a location of this element, including sources and assemblies. |
| getAnnotatedType | Gets the annotated type of this expression. |
| getEnclosingCallable | Gets the enclosing callable of this expression, if any. |
| getEnclosingStmt | Gets the enclosing statement of this expression, if any. |
| getExplicitArgumentName | Gets the explicit parameter name used to pass this expression as an argument for, if any. For example, if this expression is |
| getParent | Gets the parent of this expression. This is for example the element that uses the result of this expression. |
| getType | Gets the type of this expression. |
| getValue | Gets the value of this expression, if any |
| hasMaybeNullFlowState | Holds if the nullable flow state of this expression may be null. |
| hasNotNullFlowState | Holds if the nullable flow state of this expression is not null. |
| hasValue | Holds if this expression has a value. |
| isImplicit | Holds if this expression is generated by the compiler and does not appear explicitly in the source code. |
| stripCasts | Gets an expression that is the result of stripping (recursively) all implicit and explicit casts from this expression, if any. For example, the result is |
| stripImplicit | Gets an expression that is the result of stripping (recursively) all implicit casts and implicit ToString calls from this expression, if any. |
| stripImplicitCasts | DEPRECATED: Use |
Inherited predicates
| controlsBlock | DEPRECATED: Use | from ControlFlowElement |
| fromLibrary | Holds if this element is from an assembly. | from Element |
| fromSource | Holds if this element is from source code. | from Element |
| getAChild | Gets a child of this element, if any. | from Element |
| getAChildExpr | Gets a child expression of this element, if any. | from ExprOrStmtParent |
| getAChildStmt | Gets a child statement of this element, if any. | from ExprOrStmtParent |
| getAControlFlowEntryNode | Gets a first control flow node executed within this element. | from ControlFlowElement |
| getAControlFlowExitNode | Gets a potential last control flow node executed within this element. | from ControlFlowElement |
| getAControlFlowNode | Gets a control flow node for this element. That is, a node in the control flow graph that corresponds to this element. | from ControlFlowElement |
| getAPrimaryQlClass | Gets the name of a primary CodeQL class to which this element belongs. | from Element |
| getAReachableElement | Gets an element that is reachable from this element. | from ControlFlowElement |
| getAssembly | Gets the assembly that this element was compiled into. | from ControlFlowElement |
| getBasicBlock | Gets the basic block in which this element occurs. | from ControlFlowElement |
| getChild | Gets the | from ExprOrStmtParent |
| getChildExpr | Gets the | from ExprOrStmtParent |
| getChildStmt | Gets the | from ExprOrStmtParent |
| getControlFlowNode | Gets the control flow node for this element. | from ControlFlowElement |
| getFile | Gets the file containing this element. | from Element |
| getIndex | Gets the index of this element among its parent’s other children (zero-based). | from Element |
| getLocation | Gets the location of this element. Where an element has locations in source and assemblies, choose the source location. If there are multiple assembly locations, choose only one. | from Element |
| getNumberOfChildren | Gets the number of children of this element. | from Element |
| getPrimaryQlClasses | Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs. | from Element |
| isLive | Holds if this element is live, that is this element can be reached from the entry point of its enclosing callable. | from ControlFlowElement |
| reachableFrom | Holds if the current element is reachable from | from ControlFlowElement |
| toString | Gets a textual representation of this element. | from Element |
| toStringWithTypes | Gets the full textual representation of this element, including type information. | from Element |