Class DynamicMethodCall
A method call where the qualifier or one of the arguments is a dynamic
expression, for example M(d)
on line 8 in
class A {
void M(int i) { }
void M(string s) { }
public static void CallM(bool b) {
dynamic d = b ? 0 : (dynamic) "";
M(d);
}
}
Unlike an ordinary method call (MethodCall
), the (static) target method
may not be known at compile-time (as in the example above).
Import path
import csharp
Direct supertypes
Indirect supertypes
Predicates
getAPrimaryQlClass |
Gets the name of a primary CodeQL class to which this element belongs. |
toString |
Gets a textual representation of this element. |
Inherited predicates
controlsBlock |
Holds if basic block |
from ControlFlowElement |
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 |
getAChild |
Gets a child of this element, if any. |
from Element |
getAChildExpr |
Gets a child expression of this element, if any. |
from ExprOrStmtParent |
getAChildExpr |
Gets a child expression of this element, if any. |
from ExprOrStmtParent |
getAChildStmt |
Gets a child statement 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 |
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 |
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 |
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 |
getALocation |
Gets a location of this element, including sources and assemblies. |
from Expr |
getAReachableElement |
Gets an element that is reachable from this element. |
from ControlFlowElement |
getAReachableElement |
Gets an element that is reachable from this element. |
from ControlFlowElement |
getARuntimeArgument |
Gets an argument that corresponds to a parameter of a potential run-time target of this call. |
from Call |
getARuntimeTarget |
Gets a potential run-time target of this call. |
from Call |
getAnArgument |
Gets an argument to this call. |
from Call |
getAnnotatedType |
Gets the annotated type of this expression. |
from Expr |
getAnnotatedType |
Gets the annotated type of this expression. |
from Expr |
getArgument |
Gets the |
from Call |
getArgumentForName |
Gets the argument to this call associated with the parameter with the given |
from Call |
getArgumentForParameter |
Gets the argument for this call associated with the parameter |
from Call |
getAssembly |
Gets the assembly that this element was compiled into. |
from ControlFlowElement |
getAssembly |
Gets the assembly that this element was compiled into. |
from ControlFlowElement |
getChild |
Gets the |
from ExprOrStmtParent |
getChild |
Gets the |
from ExprOrStmtParent |
getChildExpr |
Gets the |
from ExprOrStmtParent |
getChildExpr |
Gets the |
from ExprOrStmtParent |
getChildStmt |
Gets the |
from ExprOrStmtParent |
getChildStmt |
Gets the |
from ExprOrStmtParent |
getEnclosingCallable |
Gets the enclosing callable of this expression, if any. |
from Expr |
getEnclosingCallable |
Gets the enclosing callable of this expression, if any. |
from Expr |
getEnclosingStmt |
Gets the enclosing statement 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 |
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 |
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 |
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 |
getLateBoundTargetName |
Gets the name of the target that is late bound, if any. |
from LateBindableExpr |
getLateBoundTargetName |
Gets the name of the target that is late bound, if any. |
from LateBindableExpr |
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 |
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 |
getNumberOfArguments |
Gets the number of arguments of this call. |
from Call |
getNumberOfChildren |
Gets the number of children of this element. |
from Element |
getNumberOfChildren |
Gets the number of children of this element. |
from Element |
getNumberOfRuntimeArguments |
Gets the number of arguments that correspond to a parameter of a potential run-time target of this call. |
from Call |
getParent | from Expr | |
getParent | from Expr | |
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 |
getQualifiedDeclaration |
Gets the declaration targeted by this expression, for example a method or a field. |
from MethodCall |
getQualifier |
Gets the qualifier of this expression, if any. |
from QualifiableExpr |
getRawArgument |
Gets the |
from MethodCall |
getRuntimeArgument |
Gets the argument that corresponds to the |
from Call |
getRuntimeArgumentForName |
Gets the argument that corresponds to a parameter named |
from Call |
getRuntimeArgumentForParameter |
Gets the argument that corresponds to parameter |
from Call |
getTarget |
Gets the static (compile-time) target of this call. For example, the static target of |
from MethodCall |
getType |
Gets the type of this expression. |
from Expr |
getType |
Gets the type of this expression. |
from Expr |
getValue |
Gets the value of this expression, if any |
from Expr |
getValue |
Gets the value of this expression, if any |
from Expr |
hasImplicitThisQualifier |
Holds if this expression has an implicit |
from QualifiableExpr |
hasMaybeNullFlowState |
Holds if the nullable flow state of this expression may be null. |
from Expr |
hasMaybeNullFlowState |
Holds if the nullable flow state of this expression may be null. |
from Expr |
hasNoArguments |
Holds if this call has no arguments. |
from Call |
hasNoRuntimeArguments |
Holds if this call has no arguments that correspond to a parameter of a potential (run-time) target of this call. |
from Call |
hasNotNullFlowState |
Holds if the nullable flow state of this expression is not 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 |
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 |
isImplicit |
Holds if this expression is generated by the compiler and does not appear explicitly in the source code. |
from Expr |
isLateBound |
Holds if this expression is late bound. |
from LateBindableExpr |
isLateBound |
Holds if this expression is late bound. |
from LateBindableExpr |
isLive |
Holds if this element is live, that is this element can be reached from the entry point of its enclosing callable. |
from ControlFlowElement |
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 |
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 |
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 |
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 |
toStringWithTypes |
Gets the full textual representation of this element, including type information. |
from Element |
toStringWithTypes |
Gets the full textual representation of this element, including type information. |
from Element |