trait IDriver extends AutoCloseable
The interface for all methods that should be implemented by the driver's underlying database query language.
- Alphabetic
- By Inheritance
- IDriver
- AutoCloseable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def bulkTx(dg: AppliedDiff): Unit
Executes all changes contained within the given overflowdb.BatchedUpdate.AppliedDiff as a (or set of) bulk transaction(s).
- 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).
- abstract def clear(): Unit
Removes all entries from the database.
- abstract def close(): Unit
- Definition Classes
- AutoCloseable
- Annotations
- @throws(classOf[java.lang.Exception])
- abstract def dynamicCallLinker(): Unit
Links all dynamic dispatch calls to their methods.
Links all dynamic dispatch calls to their methods.
- Attributes
- protected
- 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.
- abstract def exists(nodeId: Long): Boolean
Determines if the node exists in the database.
- abstract def idInterval(lower: Long, upper: Long): Set[Long]
Returns all the taken IDs between the two boundaries (inclusive).
- abstract def isConnected: Boolean
Will return true if the database is connected, false if otherwise.
- 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.
- 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".
- abstract def removeSourceFiles(filenames: String*): Unit
Given filenames, will remove related TYPE, TYPE_DECL, METHOD (with AST children), and NAMESPACE_BLOCK.
- 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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def NODES_IN_SCHEMA: Seq[String]
- Attributes
- protected
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- 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
- def buildInterproceduralEdges(): Unit
Runs linkers for AST node relations and calls.
- def clearMaps(): Unit
- Attributes
- protected
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- 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
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- 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
- def initMaps(): Unit
- Attributes
- protected
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val methodFullNameToNode: Map[String, Any]
- Attributes
- protected
- val namespaceNameToNode: Map[String, Any]
- Attributes
- protected
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- 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
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- val typeDeclFullNameToNode: Map[String, Any]
- Attributes
- protected
- val typeFullNameToNode: Map[String, Any]
- Attributes
- protected
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated