Class DataFlow::ClassNode

A data flow node corresponding to a class definition or a function definition acting as a class.

The following patterns are recognized as classes and methods:

class C {
  method()
}

function F() {}

F.prototype.method = function() {}

F.prototype = {
  method: function() {}
}

extend(F.prototype, {
  method: function() {}
});

Additional patterns can be recognized as class nodes, by extending DataFlow::ClassNode::Range.

Import path

import javascript

Direct supertypes

Indirect supertypes

Known direct subtypes

    Fields

    Predicates

    describe

    Gets a description of the class.

    getAClassReference

    Gets a dataflow node that refers to this class object.

    getAClassReference

    Gets a dataflow node that refers to this class object.

    getADirectSubClass

    Gets a direct subclass of this class.

    getADirectSuperClass

    Gets a direct super class of this class.

    getAReceiverNode

    Gets the receiver of an instance member or constructor of this class.

    getAStaticMemberAccess

    Gets an access to a static member of this class.

    getAStaticMethod

    Gets a static method declared in this class.

    getASuperClassNode

    Gets a dataflow node that refers to the superclass of this class.

    getAbstractClassValue

    Gets the abstract value representing the class itself.

    getAbstractInstanceValue

    Gets the abstract value representing an instance of this class.

    getAnInstanceMember

    Gets an instance method, getter, or setter with the given kind.

    getAnInstanceMember

    Gets an instance method, getter, or setter declared in this class.

    getAnInstanceMethod

    Gets an instance method declared in this class.

    getAnInstanceReference

    Gets a dataflow node that refers to an instance of this class.

    getAnInstanceReference

    Gets a dataflow node that refers to an instance of this class.

    getConstructor

    Gets the constructor function of this class.

    getInstanceMember

    Gets the instance method, getter, or setter with the given name and kind.

    getInstanceMethod

    Gets an instance method declared in this class, with the given name, if any.

    getName

    Gets the unqualified name of the class, if it has one or one can be determined from the context.

    getStaticMethod

    Gets the static method declared in this class with the given name.

    hasQualifiedName

    Holds if this class is exposed in the global scope through the given qualified name.

    Inherited predicates

    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
    backtrack

    Gets a node that may flow into this one using one heap and/or interprocedural step.

    from SourceNode
    flowsTo

    Holds if this node flows into sink in zero or more local (that is, intra-procedural) steps.

    from SourceNode
    flowsToExpr

    Holds if this node flows into sink in zero or more local (that is, intra-procedural) steps.

    from SourceNode
    getABoundFunctionValue

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

    from Node
    getACall

    Gets a function call to this node.

    from SourceNode
    getAChainedMethodCall

    Gets a chained method call that invokes methodName last.

    from SourceNode
    getAConstructorInvocation

    Gets a new call that invokes constructor constructorName on this node.

    from SourceNode
    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
    getAMemberCall

    Gets a function call that invokes method memberName on this node.

    from SourceNode
    getAMemberInvocation

    Gets an invocation of the method or constructor named memberName on this node.

    from SourceNode
    getAMethodCall

    Gets a method call that invokes method methodName on this node.

    from SourceNode
    getAMethodCall

    Gets a method call that invokes a method on this node.

    from SourceNode
    getAPredecessor

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

    from Node
    getAPropertyRead

    Gets a read of property propName on this node.

    from SourceNode
    getAPropertyRead

    Gets a read of any property on this node.

    from SourceNode
    getAPropertyReference

    Gets a reference (read or write) of property propName on this node.

    from SourceNode
    getAPropertyReference

    Gets a reference (read or write) of any property on this node.

    from SourceNode
    getAPropertySource

    Gets a source node whose value is stored in property prop of this node.

    from SourceNode
    getAPropertySource

    Gets a source node whose value is stored in a property of this node.

    from SourceNode
    getAPropertyWrite

    Gets a write of property propName on this node.

    from SourceNode
    getAPropertyWrite

    Gets a write of any property on this node.

    from SourceNode
    getASuccessor

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

    from Node
    getAnInstantiation

    Gets a new call to this node.

    from SourceNode
    getAnInvocation

    Gets an invocation (with our without new) of this node.

    from SourceNode
    getAstNode

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

    from Node
    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
    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
    hasPropertyWrite

    Holds if there is an assignment to property propName on this node, and the right hand side of the assignment is rhs.

    from SourceNode
    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
    mayHaveBooleanValue

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

    from Node
    mayHaveStringValue

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

    from Node
    mayReferToParameter

    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
    track

    Gets a node that this node may flow to using one heap and/or interprocedural step.

    from SourceNode

    Charpred