Packages

trait IDriver extends AutoCloseable

The interface for all methods that should be implemented by the driver's underlying database query language.

Linear Supertypes
AutoCloseable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IDriver
  2. AutoCloseable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def bulkTx(dg: AppliedDiff): Unit

    Executes all changes contained within the given overflowdb.BatchedUpdate.AppliedDiff as a (or set of) bulk transaction(s).

  2. abstract def bulkTx(dg: AppliedDiffGraph): Unit

    Executes all changes contained within the given io.shiftleft.passes.AppliedDiffGraph as a (or set of) bulk transaction(s).

  3. abstract def clear(): Unit

    Removes all entries from the database.

  4. abstract def close(): Unit
    Definition Classes
    AutoCloseable
    Annotations
    @throws(classOf[java.lang.Exception])
  5. abstract def dynamicCallLinker(): Unit

    Links all dynamic dispatch calls to their methods.

    Links all dynamic dispatch calls to their methods.

    Attributes
    protected
  6. abstract def exists(srcId: Long, dstId: Long, edge: String): Boolean

    Determines if there exists an edge between two nodes.

    Determines if there exists an edge between two nodes. Edges are assumed to be directional.

  7. abstract def exists(nodeId: Long): Boolean

    Determines if the node exists in the database.

  8. abstract def idInterval(lower: Long, upper: Long): Set[Long]

    Returns all the taken IDs between the two boundaries (inclusive).

  9. abstract def isConnected: Boolean

    Will return true if the database is connected, false if otherwise.

  10. abstract def linkAstNodes(srcLabels: List[String], edgeType: String, dstNodeMap: Map[String, Any], dstFullNameKey: String, dstNodeType: String): Unit

    Links nodes by their source label and destination full name key to their destination nodes by the specified edge type using the destination node map as the lookup table.

    Links nodes by their source label and destination full name key to their destination nodes by the specified edge type using the destination node map as the lookup table. Source labels are assumed to be non-empty.

  11. abstract def propertyFromNodes(nodeType: String, keys: String*): List[Map[String, Any]]

    Obtains properties from the specified node type and key(s).

    Obtains properties from the specified node type and key(s). By default will return the ID property as one of the keys as "id".

  12. abstract def removeSourceFiles(filenames: String*): Unit

    Given filenames, will remove related TYPE, TYPE_DECL, METHOD (with AST children), and NAMESPACE_BLOCK.

  13. abstract def staticCallLinker(): Unit

    Links all static dispatch calls to their methods.

    Links all static dispatch calls to their methods.

    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def NODES_IN_SCHEMA: Seq[String]
    Attributes
    protected
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def astLinker(): Unit

    Create REF edges from TYPE nodes to TYPE_DECL, EVAL_TYPE edges from nodes of various types to TYPE, REF edges from METHOD_REFs to METHOD, INHERITS_FROM nodes from TYPE_DECL nodes to TYPE, and ALIAS_OF edges from TYPE_DECL nodes to TYPE.

    Create REF edges from TYPE nodes to TYPE_DECL, EVAL_TYPE edges from nodes of various types to TYPE, REF edges from METHOD_REFs to METHOD, INHERITS_FROM nodes from TYPE_DECL nodes to TYPE, and ALIAS_OF edges from TYPE_DECL nodes to TYPE.

    Requires initMaps

    Attributes
    protected
  7. def buildInterproceduralEdges(): Unit

    Runs linkers for AST node relations and calls.

  8. def clearMaps(): Unit
    Attributes
    protected
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  10. def deserializeLists(properties: Map[String, Any]): Map[String, Any]

    Where former list properties were serialized as strings, they will be deserialized as Seq.

    Where former list properties were serialized as strings, they will be deserialized as Seq.

    properties

    the serialized property map.

    returns

    a property map where comma-separated strings are made Seq objects.

    Attributes
    protected
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  15. def id(node: AbstractNode, dg: AppliedDiffGraph): Any

    Provides the assigned ID for the given node using the given diff graph.

    Provides the assigned ID for the given node using the given diff graph.

    Attributes
    protected
  16. def initMaps(): Unit
    Attributes
    protected
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. val methodFullNameToNode: Map[String, Any]
    Attributes
    protected
  19. val namespaceNameToNode: Map[String, Any]
    Attributes
    protected
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  23. def serializeLists(properties: Map[String, Any]): Map[String, Any]

    To handle the case where databases don't support lists, we simply serialize these as a comma-separated string.

    To handle the case where databases don't support lists, we simply serialize these as a comma-separated string.

    properties

    the property map.

    returns

    a property map where lists are serialized as strings.

    Attributes
    protected
  24. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. val typeDeclFullNameToNode: Map[String, Any]
    Attributes
    protected
  27. val typeFullNameToNode: Map[String, Any]
    Attributes
    protected
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped