CodeQL library for JavaScript
codeql/javascript-all 0.7.5 ( changelog , source )
Search

Class DataFlow :: PropWrite

A data flow node that writes to an object property.

For example, all of the following are property writes:

obj.f = value;  // assignment to a property
obj[e] = value; // assignment to a computed property
{ f: value }    // property initializer
{ g() {} }      // object literal method
{ get g() {}, set g(v) {} }  // accessor methods (have no rhs value)
class C {
  constructor(public x: number); // parameter field (TypeScript only)
  static m() {} // static method
  g() {}        // instance method
}
Object.defineProperty(obj, 'f', { value: 5} ) // call to defineProperty
<View width={value}/>  // JSX attribute

Import path

import javascript

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

getInstalledAccessor

If this installs an accessor on an object, as opposed to a regular property, gets the body of the accessor. isSetter is true if installing a setter, and false is installing a getter.

getRhs

Gets the data flow node corresponding to the value being written, if it can be statically determined.

getWriteNode

Gets the node where the property write happens in the control flow graph.

writes

Holds if this data flow node writes the value of rhs to property prop of the object that base evaluates to.

Inherited predicates

accesses

Holds if this data flow node accesses property p on base node base.

from PropRef
accessesGlobal

Holds if this data flow node accesses the global variable g, either directly or through the window object.

from Node
analyze

Gets type inference results for this data flow node.

from Node
asExpr

Gets the expression corresponding to this data flow node, if any.

from Node
getABoundFunctionValue

Gets a function value that may reach this node, possibly derived from a partial function invocation.

from Node
getAFunctionValue

Gets a function value that may reach this node.

from Node
getAFunctionValue

Gets a function value that may reach this node with the given imprecision level.

from Node
getALocalSource

Gets a source node from which data may flow to this node in zero or more local steps.

from Node
getAPredecessor

Gets a data flow node from which data may flow to this node in one local step.

from Node
getASuccessor

Gets a data flow node to which data may flow from this node in one local step.

from Node
getAnAccessorCallee

Gets an accessor (get or set method) that may be invoked by this property reference.

from PropRef
getAstNode

Gets the AST node corresponding to this data flow node, if any.

from Node
getBase

Gets the data flow node corresponding to the base object whose property is read from or written to.

from PropRef
getBasicBlock

Gets the basic block to which this node belongs.

from Node
getContainer

Gets the container in which this node occurs.

from Node
getEnclosingExpr

Gets the expression enclosing this data flow node. In most cases the result is the same as asExpr(), however this method additionally includes the InvokeExpr corresponding to reflective calls.

from Node
getEndColumn

Gets the end column of this data flow node.

from Node
getEndLine

Gets the end line of this data flow node.

from Node
getFile

Gets the file this data flow node comes from.

from Node
getImmediatePredecessor

Gets the immediate predecessor of this node, if any.

from Node
getIntValue

Gets the integer value of this node, if it is an integer constant.

from Node
getPropertyName

Gets the name of the property being read or written, if it can be statically determined.

from PropRef
getPropertyNameExpr

Gets the expression specifying the name of the property being read or written, if any.

from PropRef
getStartColumn

Gets the start column of this data flow node.

from Node
getStartLine

Gets the start line of this data flow node.

from Node
getStringValue

Gets the string value of this node, if it is a string literal or constant string concatenation.

from Node
getTopLevel

Gets the toplevel in which this node occurs.

from Node
hasLocationInfo

Holds if this element is at the specified location. The location spans column startcolumn of line startline to column endcolumn of line endline in file filepath. For more information, see Locations.

from Node
hasUnderlyingType

Holds if this node is annotated with the given named type, or is declared as a subtype thereof, or is a union or intersection containing such a type.

from Node
hasUnderlyingType

Holds if this node is annotated with the given named type, or is declared as a subtype thereof, or is a union or intersection containing such a type.

from Node
isIncomplete

Holds if the flow information for this node is incomplete.

from Node
isPrivateField

Holds if this data flow node reads or writes a private field in a class.

from PropRef
mayHaveBooleanValue

Holds if this node may evaluate to the Boolean value b.

from Node
mayHavePropertyName

Holds if this property reference may access a property named propName.

from PropRef
mayHaveStringValue

Holds if this node may evaluate to the string s, possibly through local data flow.

from Node
mayReferToParameter

DEPRECATED: Use DataFlow::ParameterNode::flowsTo() instead. Holds if this expression may refer to the initial value of parameter p.

from Node
toString

Gets a textual representation of this element.

from Node