Class IndexerRead
An access to an indexer that reads the underlying value, for example the
access to c
on line 5 in
class C {
public string this[int i] { ... }
static string GetItem(C c) {
return c[0];
}
}
Import path
import csharp
Direct supertypes
Indirect supertypes
- @access_expr
- @assignable_access_expr
- @control_flow_element
- @element
- @element_access_expr
- @expr
- @exprorstmt_parent
- @indexer_access_expr
- @member_access_expr
- @qualifiable_expr
- Access
- AssignableAccess
- AssignableMemberAccess
- AssignableRead
- ControlFlowElement
- Element
- ElementAccess
- Expr
- ExprOrStmtParent
- IndexerAccessExpr
- MemberAccess
- QualifiableExpr
Predicates
getANextRead | Gets a next read of the same underlying assignable. That is, a read that can be reached from this read without passing through any other reads, and which is guaranteed to read the same value. Example: |
Inherited predicates
controlsBlock | Holds if basic block | 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 |
getALocation | Gets a location of this element, including sources and assemblies. | from Expr |
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 |
getAnIndex | Gets an index expression of this element access, for example | from ElementAccess |
getAnnotatedType | Gets the annotated type of this expression. | from Expr |
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 |
getEnclosingCallable | Gets the enclosing callable of this expression, if any. | from Expr |
getEnclosingStmt | Gets the enclosing statement of this expression, if any. | from Expr |
getExplicitArgumentName | Gets the explicit parameter name used to pass this expression as an argument for, if any. For example, if this expression is | from Expr |
getFile | Gets the file containing this element. | from Element |
getIndex | Gets the | from ElementAccess |
getIndex | Gets the index of this element among its parent’s other children (zero-based). | from Element |
getIndexer | Gets the target of this indexer access. | from IndexerAccessExpr |
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 |
getParent | Gets the parent of this expression. This is for example the element that uses the result of this expression. | from Expr |
getPrimaryQlClasses | Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs. | from Element |
getQualifiedDeclaration | Gets the declaration targeted by this expression, for example a method or a field. | from IndexerAccess |
getQualifier | Gets the qualifier of this expression, if any. | from QualifiableExpr |
getTarget | Gets the target of this access. | from IndexerAccess |
getType | Gets the type of this expression. | from Expr |
getValue | Gets the value of this expression, if any | from Expr |
hasImplicitThisQualifier | Holds if this expression has an implicit | from MemberAccess |
hasMaybeNullFlowState | Holds if the nullable flow state of this expression may be null. | from Expr |
hasNotNullFlowState | Holds if the nullable flow state of this expression is not null. | from Expr |
hasQualifier | Holds if this expression is qualified. | from QualifiableExpr |
hasThisQualifier | Holds if this call has an implicit or explicit | from QualifiableExpr |
hasValue | Holds if this expression has a value. | from Expr |
isConditional | Holds if this expression has a conditional qualifier | from QualifiableExpr |
isImplicit | Holds if this expression is generated by the compiler and does not appear explicitly in the source code. | from Expr |
isInArgument | Holds if this access passes the assignable being accessed as an | from AssignableAccess |
isLive | Holds if this element is live, that is this element can be reached from the entry point of its enclosing callable. | from ControlFlowElement |
isOutArgument | Holds if this access passes the assignable being accessed as an | from AssignableAccess |
isOutOrRefArgument | Holds if this access passes the assignable being accessed as an | from AssignableAccess |
isRefArgument | Holds if this access passes the assignable being accessed as a | from AssignableAccess |
reachableFrom | Holds if the current element is reachable from | from ControlFlowElement |
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 | from Expr |
stripImplicitCasts | Gets an expression that is the result of stripping (recursively) all implicit casts from this expression, if any. | from Expr |
targetIsLocalInstance | Holds if the target of this expression is a local instance. That is, either the (implicit) qualifier is | from QualifiableExpr |
targetIsOverridableOrImplementable | Holds if the target of this expression can be overridden or implemented. | from QualifiableExpr |
targetIsThisInstance | Holds if this expression is equivalent to a | from QualifiableExpr |
toString | Gets a textual representation of this element. | from IndexerAccessExpr |
toStringWithTypes | Gets the full textual representation of this element, including type information. | from Element |