Class DynamicObjectCreation
A constructor call where one of the arguments is a dynamic
expression, for
example new A(d)
on line 8 in
class A {
A(int i) { }
A(string s) { }
public static A Create(bool b) {
dynamic d = b ? 0 : (dynamic) "";
return new A(d);
}
}
Unlike an ordinary constructor call (ObjectCreation
), the target constructor
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 |
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 |
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 ObjectCreation |
getAnArgument | Gets an argument to this call. | from Call |
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 |
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 index of this element among its parent’s other children (zero-based). | from Element |
getInitializer | Gets the object initializer or collection initializer of this constructor call, if any. For example | from ObjectCreation |
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 |
getNumberOfArguments | Gets the number of arguments of this call. | from Call |
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 |
getObjectType | Gets the type of the newly created object. | from ObjectCreation |
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 |
getRawArgument | Gets the | from ObjectCreation |
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 ObjectCreation |
getType | Gets the type of this expression. | from Expr |
getValue | Gets the value of this expression, if any | from Expr |
hasInitializer | Holds if this constructor call includes an object initializer or an element initializer. | from ObjectCreation |
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 |
hasValue | Holds if this expression has a value. | from Expr |
isImplicit | Holds if this expression is generated by the compiler and does not appear explicitly in the source code. | from Expr |
isImplicitlyTyped | Holds if the type of the created object is inferred. | from ObjectCreation |
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 |
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 |
toStringWithTypes | Gets the full textual representation of this element, including type information. | from Element |