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
), a qualifiable expression
(QualifiableExpr
), or a literal (Literal
).
Import path
import csharp
Direct supertypes
Indirect supertypes
Known direct subtypes
- Access
- AccessOrCallExpr
- AlwaysNullExpr
- AnonymousFunctionExpr
- ArrayCreation
- ArrayInitializer
- AwaitExpr
- Call
- Cast
- CheckedExpr
- CollectionExpr
- DefaultValueExpr
- DefineSymbolExpr
- DelegateCreation
- DereferenceableExpr
- DiscardExpr
- EventAccessExpr
- Guard
- HtmlSanitizedExpr
- ImplicitToStringExpr
- IndexExpr
- IndexerAccessExpr
- InterpolatedStringExpr
- IsExpr
- LateBindableExpr
- Literal
- LocalVariableDeclExpr
- MaybeNullExpr
- NameOfExpr
- NonNullExpr
- ObjectOrCollectionInitializer
- Operation
- ParenthesizedExpr
- PasswordExpr
- PatternExpr
- PrivateDataExpr
- PropertyAccessExpr
- QualifiableExpr
- RangeExpr
- RefExpr
- SensitiveExpr
- 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 | |
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. |
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 |
stripImplicitCasts |
Gets an expression that is the result of stripping (recursively) all implicit casts from this expression, if any. |
Inherited predicates
controlsBlock |
Holds if basic block |
from ControlFlowElement |
fromLibrary |
Holds if this element is from an assembly. |
from Element |
fromLibrary |
Holds if this element is from an assembly. |
from Element |
fromSource |
Holds if this element is from source code. |
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 |
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 |
getChild |
Gets the |
from ExprOrStmtParent |
getChildExpr |
Gets the |
from ExprOrStmtParent |
getChildStmt |
Gets the |
from ExprOrStmtParent |
getFile |
Gets the file containing this element. |
from Element |
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 |
getLanguage |
Gets the “language” of this program element, as defined by the extension of the filename. For example, C# has language “cs”, and Visual Basic has language “vb”. |
from Element |
getLanguage |
Gets the “language” of this program element, as defined by the extension of the filename. For example, C# has language “cs”, and Visual Basic has language “vb”. |
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 |
getPrimaryQlClasses |
Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs. |
from Element |
hasValue |
Holds if this expression has a value. |
from Expr |
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 |
toString |
Gets a textual representation of this element. |
from Element |
toStringWithTypes |
Gets the full textual representation of this element, including type information. |
from Element |