Packages

  • package root
    Definition Classes
    root
  • package io
    Definition Classes
    root
  • package shiftleft
    Definition Classes
    io
  • package queryprimitives

    Domain specific language for querying code property graphs

    Domain specific language for querying code property graphs

    This is the API reference for the CPG query language, a language to mine code for defects and vulnerabilities both interactively on a code analysis shell (REPL), or using non-interactive scripts.

    Queries written in the CPG query language express graph traversals (see https://en.wikipedia.org/wiki/Graph_traversal). Similar to the standard graph traversal language "Gremlin" (see https://en.wikipedia.org/wiki/Gremlin_(programming_language))) these traversals are formulated as sequences of primitive language elements referred to as "steps". You can think of a step as a small program, similar to a unix shell utility, however, instead of processing lines one by one, the step processes nodes of the graph.

    Starting a traversal

    All traversals begin by selecting a set of start nodes, e.g.,

    cpg.method

    will start the traversal at all methods, while

    cpg.local

    will start at all local variables. The complete list of starting points can be found here: io.shiftleft.queryprimitives.steps.starters.Cpg

    Lazy evaluation

    Queries are lazily evaluated, e.g., cpg.method creates a traversal which you can add more steps to. You can, for example, evaluate the traversal by converting it to a list:

    cpg.method.toList

    Since toList is such a common operation, we provide the shorthand l, meaning that

    cpg.method.l

    provides the same result as the former query.

    Properties

    Nodes have "properties", key-value pairs where keys are strings and values are primitive data types such as strings, integers, or Booleans. Properties of nodes can be selected based on their key, e.g.,

    cpg.method.name

    traverses to all method names. Nodes can also be filtered based on properties, e.g.,

    cpg.method.name(".*exec.*")

    traverse to all methods where name matches the regular expression ".*exec.*". You can see a complete list of properties by browsing to the API documentation of the corresponding step. For example, you can find the properties of method nodes at io.shiftleft.queryprimitives.steps.types.structure.Method.

    Side effects

    Useful if you want to mutate something outside the traversal, or simply debug it: This prints all typeDecl names as it traverses the graph and increments i for each one.

    var i = 0
    cpg.typeDecl.sideEffect{typeTemplate => println(typeTemplate.name); i = i + 1}.exec

    [advanced] Selecting multiple things from your traversal

    If you are interested in multiple things along the way of your traversal, you label anything using the as modulator, and use select at the end. Note that the compiler automatically derived the correct return type as a tuple of the labelled steps, in this case with two elements.

    cpg.method.as("method").definingTypeDecl.as("classDef").select.toList
    // return type: List[(nodes.Method, nodes.TypeDecl)]

    [advanced] For comprehensions

    You can always start a new traversal from a node, e.g.,

    val someMethod = cpg.method.head
    someMethod.start.parameter.toList

    You can use this e.g. in a for comprehension, which is (in this context) essentially an alternative way to select multiple intermediate things. It is more expressive, but more computationally expensive.

    val query = for {
      method <- cpg.method
      param <- method.start.parameter
    } yield (method.name, param.name)
    
    query.toList
    Definition Classes
    shiftleft
  • package steps

    Steps for traversing the code property graph

    Steps for traversing the code property graph

    All traversal start at io.shiftleft.queryprimitives.starters.Cpg.

    Definition Classes
    queryprimitives
  • package types
    Definition Classes
    steps
  • package expressions
    Definition Classes
    types
  • package generalizations
    Definition Classes
    expressions
  • Call
  • Identifier
  • Literal

class Call[Labels <: HList] extends CpgSteps[codepropertygraph.generated.nodes.Call, Labels] with CodeAccessors[codepropertygraph.generated.nodes.Call, Labels] with NameAccessors[codepropertygraph.generated.nodes.Call, Labels] with OrderAccessors[codepropertygraph.generated.nodes.Call, Labels] with SignatureAccessors[codepropertygraph.generated.nodes.Call, Labels] with DispatchTypeAccessors[codepropertygraph.generated.nodes.Call, Labels] with LineNumberAccessors[codepropertygraph.generated.nodes.Call, Labels] with EvalTypeAccessors[codepropertygraph.generated.nodes.Call, Labels] with ExpressionBase[codepropertygraph.generated.nodes.Call, Labels]

A call site

Linear Supertypes
ExpressionBase[codepropertygraph.generated.nodes.Call, Labels], EvalTypeAccessors[codepropertygraph.generated.nodes.Call, Labels], LineNumberAccessors[codepropertygraph.generated.nodes.Call, Labels], DispatchTypeAccessors[codepropertygraph.generated.nodes.Call, Labels], SignatureAccessors[codepropertygraph.generated.nodes.Call, Labels], OrderAccessors[codepropertygraph.generated.nodes.Call, Labels], PropertyAccessors[codepropertygraph.generated.nodes.Call, Labels], NameAccessors[codepropertygraph.generated.nodes.Call, Labels], CodeAccessors[codepropertygraph.generated.nodes.Call, Labels], StringPropertyAccessors[codepropertygraph.generated.nodes.Call, Labels], CpgSteps[codepropertygraph.generated.nodes.Call, Labels], NodeSteps[codepropertygraph.generated.nodes.Call, Labels], Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels], StepsRoot, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Call
  2. ExpressionBase
  3. EvalTypeAccessors
  4. LineNumberAccessors
  5. DispatchTypeAccessors
  6. SignatureAccessors
  7. OrderAccessors
  8. PropertyAccessors
  9. NameAccessors
  10. CodeAccessors
  11. StringPropertyAccessors
  12. CpgSteps
  13. NodeSteps
  14. Steps
  15. StepsRoot
  16. AnyRef
  17. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Call(raw: GremlinScala[Vertex])

Type Members

  1. type EndDomain0 = codepropertygraph.generated.nodes.Call
    Definition Classes
    Steps → StepsRoot
  2. type EndGraph0 = Vertex
    Definition Classes
    Steps → StepsRoot

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 _toJson(pretty: Boolean): String
    Attributes
    protected
    Definition Classes
    CpgSteps
  5. def aggregate(into: Buffer[codepropertygraph.generated.nodes.Call]): NodeSteps[codepropertygraph.generated.nodes.Call, Labels]
    Definition Classes
    NodeSteps
  6. def and(andTraversals: (Steps[codepropertygraph.generated.nodes.Call, Vertex, HNil]) ⇒ Steps[_, _, _]*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    Steps
  7. def argument: Expression[Labels]

    Arguments of the call

  8. def as[NewLabels <: HList](stepLabel: StepLabel[codepropertygraph.generated.nodes.Call])(implicit prependDomain: shapeless.ops.hlist.Prepend.Aux[Labels, ::[codepropertygraph.generated.nodes.Call, HNil], NewLabels]): Steps[codepropertygraph.generated.nodes.Call, Vertex, NewLabels]
    Definition Classes
    Steps
  9. def as[NewLabels <: HList](stepLabel: String)(implicit prependDomain: shapeless.ops.hlist.Prepend.Aux[Labels, ::[codepropertygraph.generated.nodes.Call, HNil], NewLabels]): Steps[codepropertygraph.generated.nodes.Call, Vertex, NewLabels]
    Definition Classes
    Steps
  10. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  11. def call: Call[Labels]

    Cast to call if applicable

    Cast to call if applicable

    Definition Classes
    ExpressionBase
  12. def calledMethod(implicit callResolver: ICallResolver): Method[Labels]

    The callee method

  13. def calledMethodInstance(implicit callResolver: ICallResolver): MethodInst[Labels]

    The callee method instance

  14. def calledMethodInstanceNoResolve: MethodInst[Labels]

    The callee method instance, do not trigger call site resolution.

  15. def calledMethodNoResolve: Method[Labels]

    The callee method, do not trigger call site resolution.

  16. def cfgNext: Expression[Labels]

    Traverse to next expression in CFG.

    Traverse to next expression in CFG.

    Definition Classes
    ExpressionBase
  17. def cfgPrev: Expression[Labels]

    Traverse to previous expression in CFG.

    Traverse to previous expression in CFG.

    Definition Classes
    ExpressionBase
  18. def clone(): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    Steps → AnyRef
  19. def code(value: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    CodeAccessors
  20. def code(value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    CodeAccessors
  21. def code(): Steps[String, String, Labels]
    Definition Classes
    CodeAccessors
  22. def codeExact(values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    CodeAccessors
  23. def codeExact(value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    CodeAccessors
  24. def codeNot(values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    CodeAccessors
  25. def codeNot(value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    CodeAccessors
  26. val converter: Converter[codepropertygraph.generated.nodes.Call] { type GraphType = gremlin.scala.Vertex }
    Definition Classes
    CallEvalTypeAccessorsPropertyAccessorsStringPropertyAccessors → Steps
  27. def count(): Long
    Definition Classes
    Steps
  28. def dedup(): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    Steps
  29. def dispatchType(value: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where the dispatchType matches at least one of the regular expressions in values

    Traverse to nodes where the dispatchType matches at least one of the regular expressions in values

    Definition Classes
    DispatchTypeAccessors
  30. def dispatchType(value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where the dispatchType matches the regular expression value

    Traverse to nodes where the dispatchType matches the regular expression value

    Definition Classes
    DispatchTypeAccessors
  31. def dispatchType(): Steps[String, String, Labels]

    Traverse to dispatchType

    Traverse to dispatchType

    Definition Classes
    DispatchTypeAccessors
  32. def dispatchTypeExact(values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where dispatchType matches one of the elements in values exactly.

    Traverse to nodes where dispatchType matches one of the elements in values exactly.

    Definition Classes
    DispatchTypeAccessors
  33. def dispatchTypeExact(value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where dispatchType matches value exactly.

    Traverse to nodes where dispatchType matches value exactly.

    Definition Classes
    DispatchTypeAccessors
  34. def dispatchTypeNot(values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where dispatchType does not match any of the regular expressions in values.

    Traverse to nodes where dispatchType does not match any of the regular expressions in values.

    Definition Classes
    DispatchTypeAccessors
  35. def dispatchTypeNot(value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where dispatchType does not match the regular expression value.

    Traverse to nodes where dispatchType does not match the regular expression value.

    Definition Classes
    DispatchTypeAccessors
  36. def emit(emitTraversal: (Steps[codepropertygraph.generated.nodes.Call, Vertex, HNil]) ⇒ Steps[_, _, _]): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    Steps
  37. def emit(): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    Steps
  38. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  39. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  40. def evalType(_values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    EvalTypeAccessors
  41. def evalType(_value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    EvalTypeAccessors
  42. def evalType(): Steps[String, String, Labels]
    Definition Classes
    EvalTypeAccessors
  43. def evalTypeExact(_values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    EvalTypeAccessors
  44. def evalTypeExact(_value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    EvalTypeAccessors
  45. def evalTypeNot(_values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    EvalTypeAccessors
  46. def evalTypeNot(_value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    EvalTypeAccessors
  47. def exec(): Unit
    Definition Classes
    Steps
  48. def expression: Expression[Labels]

    Traverse to sub expressions

    Traverse to sub expressions

    Definition Classes
    ExpressionBase
  49. def expressionUp: Expression[Labels]

    Traverse to enclosing expression

    Traverse to enclosing expression

    Definition Classes
    ExpressionBase
  50. def file: File[Labels]

    Traverse to source file

    Traverse to source file

    Definition Classes
    CpgSteps
  51. def filter(predicate: (Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]) ⇒ Steps[_, _, _]): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    Steps
  52. def filterNot(predicate: (Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]) ⇒ Steps[_, _, _]): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    Steps
  53. def filterOnEnd(predicate: (codepropertygraph.generated.nodes.Call) ⇒ Boolean): NodeSteps[codepropertygraph.generated.nodes.Call, Labels]
    Definition Classes
    NodeSteps
  54. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  55. def flatMap[NewSteps <: StepsRoot](fun: (codepropertygraph.generated.nodes.Call) ⇒ NewSteps)(implicit constr: Aux[gremlin.scala.dsl.Steps.flatMap.NewSteps.EndDomain0, Labels, gremlin.scala.dsl.Steps.flatMap.NewSteps.EndGraph0, NewSteps], newConverter: Converter[gremlin.scala.dsl.Steps.flatMap.NewSteps.EndDomain0]): NewSteps
    Definition Classes
    Steps
  56. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  57. implicit val graph: Graph
    Definition Classes
    CpgSteps
  58. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  59. def head(): codepropertygraph.generated.nodes.Call
    Definition Classes
    Steps
  60. def headOption(): Option[codepropertygraph.generated.nodes.Call]
    Definition Classes
    Steps
  61. def id(ids: AnyRef*): NodeSteps[codepropertygraph.generated.nodes.Call, Labels]
    Definition Classes
    NodeSteps
  62. def identifier: Identifier[Labels]

    Cast to identifier, if applicable

    Cast to identifier, if applicable

    Definition Classes
    ExpressionBase
  63. def isDefined: Boolean
    Definition Classes
    Steps
  64. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  65. def iterate(): Unit
    Definition Classes
    Steps
  66. def l: List[codepropertygraph.generated.nodes.Call]
    Definition Classes
    Steps
  67. def lineNumber(value: Integer*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    LineNumberAccessors
  68. def lineNumber(value: Integer): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    LineNumberAccessors
  69. def lineNumber(): Steps[Integer, Integer, Labels]
    Definition Classes
    LineNumberAccessors
  70. def lineNumberNot(values: Integer*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    LineNumberAccessors
  71. def lineNumberNot(value: Integer): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    LineNumberAccessors
  72. def literal: Literal[Labels]

    Cast to literal if applicable

    Cast to literal if applicable

    Definition Classes
    ExpressionBase
  73. def map[NewEndDomain, NewEndGraph, NewSteps <: StepsRoot](fun: (codepropertygraph.generated.nodes.Call) ⇒ NewEndDomain)(implicit newConverter: Aux[NewEndDomain, NewEndGraph], constr: Aux[NewEndDomain, Labels, NewEndGraph, NewSteps]): NewSteps
    Definition Classes
    Steps
  74. def method: Method[Labels]

    The caller

    The caller

    Definition Classes
    CallExpressionBase
  75. def name(value: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where the name matches at least one of the regular expressions in values

    Traverse to nodes where the name matches at least one of the regular expressions in values

    Definition Classes
    NameAccessors
  76. def name(value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where the name matches the regular expression value

    Traverse to nodes where the name matches the regular expression value

    Definition Classes
    NameAccessors
  77. def name(): Steps[String, String, Labels]

    Traverse to name

    Traverse to name

    Definition Classes
    NameAccessors
  78. def nameExact(values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where name matches one of the elements in values exactly.

    Traverse to nodes where name matches one of the elements in values exactly.

    Definition Classes
    NameAccessors
  79. def nameExact(value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where name matches value exactly.

    Traverse to nodes where name matches value exactly.

    Definition Classes
    NameAccessors
  80. def nameNot(values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where name does not match any of the regular expressions in values.

    Traverse to nodes where name does not match any of the regular expressions in values.

    Definition Classes
    NameAccessors
  81. def nameNot(value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where name does not match the regular expression value.

    Traverse to nodes where name does not match the regular expression value.

    Definition Classes
    NameAccessors
  82. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  83. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  84. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  85. def onRaw(fun: (GremlinScala[Vertex]) ⇒ GremlinScala[Vertex]): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    Steps
  86. def or(orTraversals: (Steps[codepropertygraph.generated.nodes.Call, Vertex, HNil]) ⇒ Steps[_, _, _]*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    Steps
  87. def order(value: Integer*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    OrderAccessors
  88. def order(value: Integer): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    OrderAccessors
  89. def order(): Steps[Integer, Integer, Labels]
    Definition Classes
    OrderAccessors
  90. def orderBy[A](fun: (codepropertygraph.generated.nodes.Call) ⇒ A): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    Steps
  91. def orderNot[Out](values: Integer*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    OrderAccessors
  92. def orderNot(value: Integer): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    OrderAccessors
  93. def p(): Unit
    Definition Classes
    Steps
  94. def property[P](property: Key[P]): Steps[P, P, Labels]
    Definition Classes
    PropertyAccessors
  95. def propertyFilter[Out, P](property: Key[P], value: P): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    PropertyAccessors
  96. def propertyFilterMultiple[Out, P](property: Key[P], values: P*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    PropertyAccessors
  97. def propertyFilterNot[Out, P](property: Key[P], value: P): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    PropertyAccessors
  98. def propertyFilterNotMultiple[Out, P](property: Key[P], values: P*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    PropertyAccessors
  99. val raw: GremlinScala[Vertex]
    Definition Classes
    CpgSteps → NodeSteps → Steps → StepsRoot
  100. def referencedMember: Member[Labels]

    Traverse to referenced members

  101. def repeat[NewEndDomain >: codepropertygraph.generated.nodes.Call](repeatTraversal: (Steps[codepropertygraph.generated.nodes.Call, Vertex, HNil]) ⇒ Steps[NewEndDomain, Vertex, _])(implicit newConverter: Aux[NewEndDomain, Vertex]): Steps[NewEndDomain, Vertex, Labels]
    Definition Classes
    Steps
  102. def s(): Stream[codepropertygraph.generated.nodes.Call]
    Definition Classes
    Steps
  103. def select[StepLabelsTuple <: Product, StepLabels <: HList, H0, T0 <: HList, SelectedTypes <: HList, SelectedTypesTuple <: Product, SelectedGraphTypesTuple <: Product, LabelNames <: HList, Z](stepLabelsTuple: StepLabelsTuple)(implicit toHList: Aux[StepLabelsTuple, StepLabels], hasOne: Aux[StepLabels, H0, T0], hasTwo: IsHCons[T0], extractLabelType: Aux[StepLabels, SelectedTypes], tupler: shapeless.ops.hlist.Tupler.Aux[SelectedTypes, SelectedTypesTuple], conv: Aux[SelectedTypesTuple, SelectedGraphTypesTuple], stepLabelToString: Aux[GetLabelName.type, StepLabels, LabelNames], trav: Aux[LabelNames, List, String], folder: Aux[StepLabels, (HNil, Map[String, Any]), combineLabelWithValue.type, (SelectedTypes, Z)]): Steps[SelectedTypesTuple, SelectedGraphTypesTuple, Labels]
    Definition Classes
    Steps
  104. def select[Label, LabelGraph](label: StepLabel[Label])(implicit conv1: Aux[Label, LabelGraph]): Steps[Label, LabelGraph, Labels]
    Definition Classes
    Steps
  105. def select[LabelsGraph <: HList, LabelsGraphTuple, LabelsTuple]()(implicit conv1: Aux[Labels, LabelsGraph], tupler1: shapeless.ops.hlist.Tupler.Aux[LabelsGraph, LabelsGraphTuple], tupler2: shapeless.ops.hlist.Tupler.Aux[Labels, LabelsTuple], conv2: Aux[LabelsTuple, LabelsGraphTuple]): Steps[LabelsTuple, LabelsGraphTuple, Labels]
    Definition Classes
    Steps
  106. def sideEffect(fun: (codepropertygraph.generated.nodes.Call) ⇒ Any): NodeSteps[codepropertygraph.generated.nodes.Call, Labels]
    Definition Classes
    NodeSteps
  107. def signature(value: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where the signature matches at least one of the regular expressions in values

    Traverse to nodes where the signature matches at least one of the regular expressions in values

    Definition Classes
    SignatureAccessors
  108. def signature(value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where the signature matches the regular expression value

    Traverse to nodes where the signature matches the regular expression value

    Definition Classes
    SignatureAccessors
  109. def signature(): Steps[String, String, Labels]

    Traverse to signature

    Traverse to signature

    Definition Classes
    SignatureAccessors
  110. def signatureExact(values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where signature matches one of the elements in values exactly.

    Traverse to nodes where signature matches one of the elements in values exactly.

    Definition Classes
    SignatureAccessors
  111. def signatureExact(value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where signature matches value exactly.

    Traverse to nodes where signature matches value exactly.

    Definition Classes
    SignatureAccessors
  112. def signatureNot(values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where signature does not match any of the regular expressions in values.

    Traverse to nodes where signature does not match any of the regular expressions in values.

    Definition Classes
    SignatureAccessors
  113. def signatureNot(value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

    Traverse to nodes where signature does not match the regular expression value.

    Traverse to nodes where signature does not match the regular expression value.

    Definition Classes
    SignatureAccessors
  114. def stringProperty(property: Key[String]): Steps[String, String, Labels]
    Attributes
    protected
    Definition Classes
    StringPropertyAccessors
  115. def stringPropertyFilter(property: Key[String], value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Attributes
    protected
    Definition Classes
    StringPropertyAccessors
  116. def stringPropertyFilterExact[Out](property: Key[String], _value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Attributes
    protected
    Definition Classes
    StringPropertyAccessors
  117. def stringPropertyFilterExactMultiple[Out](property: Key[String], values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Attributes
    protected
    Definition Classes
    StringPropertyAccessors
  118. def stringPropertyFilterMultiple(property: Key[String], values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Attributes
    protected
    Definition Classes
    StringPropertyAccessors
  119. def stringPropertyFilterNot[Out](property: Key[String], value: String): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Attributes
    protected
    Definition Classes
    StringPropertyAccessors
  120. def stringPropertyFilterNotMultiple[Out](property: Key[String], values: String*): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Attributes
    protected
    Definition Classes
    StringPropertyAccessors
  121. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  122. def times(maxLoops: Int): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    Steps
  123. def toBuffer(): Buffer[codepropertygraph.generated.nodes.Call]
    Definition Classes
    Steps
  124. def toJson: String

    Execute traversal and convert the result to json.

    Execute traversal and convert the result to json.

    Definition Classes
    CpgSteps
  125. def toJsonPretty: String
    Definition Classes
    CpgSteps
  126. def toList(): List[codepropertygraph.generated.nodes.Call]
    Definition Classes
    Steps
  127. def toMaps(): Steps[Map[String, AnyRef], Map[String, AnyRef], Labels]
    Definition Classes
    CpgSteps
  128. def toMethodReturn: MethodReturn[Labels]

    To formal method return parameter

  129. def toParameter: MethodParameter[Labels]

    Traverse to related parameter

    Traverse to related parameter

    Definition Classes
    ExpressionBase
  130. def toSet(): Set[codepropertygraph.generated.nodes.Call]
    Definition Classes
    Steps
  131. def toStream(): Stream[codepropertygraph.generated.nodes.Call]
    Definition Classes
    Steps
  132. def toString(): String
    Definition Classes
    Steps → AnyRef → Any
  133. def typ: Type[Labels]

    Traverse to expression evaluation type

    Traverse to expression evaluation type

    Definition Classes
    ExpressionBase
  134. def until(untilTraversal: (Steps[codepropertygraph.generated.nodes.Call, Vertex, HNil]) ⇒ Steps[_, _, _]): Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]
    Definition Classes
    Steps
  135. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  136. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  137. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  138. def walkIn(edgeType: String): GremlinScala[Vertex]
    Definition Classes
    NodeSteps

Inherited from ExpressionBase[codepropertygraph.generated.nodes.Call, Labels]

Inherited from EvalTypeAccessors[codepropertygraph.generated.nodes.Call, Labels]

Inherited from LineNumberAccessors[codepropertygraph.generated.nodes.Call, Labels]

Inherited from DispatchTypeAccessors[codepropertygraph.generated.nodes.Call, Labels]

Inherited from SignatureAccessors[codepropertygraph.generated.nodes.Call, Labels]

Inherited from OrderAccessors[codepropertygraph.generated.nodes.Call, Labels]

Inherited from PropertyAccessors[codepropertygraph.generated.nodes.Call, Labels]

Inherited from NameAccessors[codepropertygraph.generated.nodes.Call, Labels]

Inherited from CodeAccessors[codepropertygraph.generated.nodes.Call, Labels]

Inherited from StringPropertyAccessors[codepropertygraph.generated.nodes.Call, Labels]

Inherited from CpgSteps[codepropertygraph.generated.nodes.Call, Labels]

Inherited from NodeSteps[codepropertygraph.generated.nodes.Call, Labels]

Inherited from Steps[codepropertygraph.generated.nodes.Call, Vertex, Labels]

Inherited from StepsRoot

Inherited from AnyRef

Inherited from Any

Ungrouped