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 structure
    Definition Classes
    types
  • File
  • Local
  • Member
  • Method
  • MethodInst
  • MethodParameter
  • MethodParameterOut
  • MethodReturn
  • Namespace
  • NamespaceBlock
  • Type
  • TypeDecl

class Method[Labels <: HList] extends CpgSteps[codepropertygraph.generated.nodes.Method, Labels] with DeclarationBase[codepropertygraph.generated.nodes.Method, Labels] with NameAccessors[codepropertygraph.generated.nodes.Method, Labels] with FullNameAccessors[codepropertygraph.generated.nodes.Method, Labels] with SignatureAccessors[codepropertygraph.generated.nodes.Method, Labels] with LineNumberAccessors[codepropertygraph.generated.nodes.Method, Labels] with EvalTypeAccessors[codepropertygraph.generated.nodes.Method, Labels]

A method, function, or procedure

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

Instance Constructors

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

Type Members

  1. type EndDomain0 = codepropertygraph.generated.nodes.Method
    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.Method]): NodeSteps[codepropertygraph.generated.nodes.Method, Labels]
    Definition Classes
    NodeSteps
  6. def and(andTraversals: (Steps[codepropertygraph.generated.nodes.Method, Vertex, HNil]) ⇒ Steps[_, _, _]*): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    Steps
  7. def as[NewLabels <: HList](stepLabel: StepLabel[codepropertygraph.generated.nodes.Method])(implicit prependDomain: shapeless.ops.hlist.Prepend.Aux[Labels, ::[codepropertygraph.generated.nodes.Method, HNil], NewLabels]): Steps[codepropertygraph.generated.nodes.Method, Vertex, NewLabels]
    Definition Classes
    Steps
  8. def as[NewLabels <: HList](stepLabel: String)(implicit prependDomain: shapeless.ops.hlist.Prepend.Aux[Labels, ::[codepropertygraph.generated.nodes.Method, HNil], NewLabels]): Steps[codepropertygraph.generated.nodes.Method, Vertex, NewLabels]
    Definition Classes
    Steps
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def callIn(implicit callResolver: ICallResolver): Call[Labels]

    Incoming call sites

  11. def callOut: Call[Labels]

    Outgoing call sites

  12. def calledBy(sourceTrav: MethodInst[Labels])(implicit callResolver: ICallResolver): Method[Labels]

    Traverse to direct and transitive callers of the method.

  13. def calledBy(sourceTrav: Method[Labels])(implicit callResolver: ICallResolver): Method[Labels]

    Traverse to direct and transitive callers of the method.

  14. def calledByIncludingSink(sourceTrav: Method[Labels], resolve: Boolean = true)(implicit callResolver: ICallResolver): Method[Labels]

    Intendend for internal use! Traverse to direct and transitive callers of the method.

  15. def callee(implicit callResolver: ICallResolver): Method[Labels]

    Traverse to methods called by this method

  16. def caller(implicit callResolver: ICallResolver): Method[Labels]

    Traverse to direct callers of this method

  17. def cfgFirst: Expression[Labels]

    Traverse to first expressions in CFG.

    Traverse to first expressions in CFG. Can be multiple.

  18. def cfgLast: Expression[Labels]

    Traverse to last expressions in CFG.

    Traverse to last expressions in CFG. Can be multiple.

  19. def clone(): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    Steps → AnyRef
  20. val converter: Converter[codepropertygraph.generated.nodes.Method] { type GraphType = gremlin.scala.Vertex }
    Definition Classes
    MethodEvalTypeAccessorsPropertyAccessorsStringPropertyAccessors → Steps
  21. def count(): Long
    Definition Classes
    Steps
  22. def dedup(): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    Steps
  23. def definingMethod: Method[Labels]

    The method in which this method is defined

  24. def definingTypeDecl: TypeDecl[Labels]

    The type declaration associated with this method, e.g., the class it is defined in.

  25. def emit(emitTraversal: (Steps[codepropertygraph.generated.nodes.Method, Vertex, HNil]) ⇒ Steps[_, _, _]): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    Steps
  26. def emit(): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    Steps
  27. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  29. def evalType(_values: String*): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    EvalTypeAccessors
  30. def evalType(_value: String): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    EvalTypeAccessors
  31. def evalType(): Steps[String, String, Labels]
    Definition Classes
    EvalTypeAccessors
  32. def evalTypeExact(_values: String*): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    EvalTypeAccessors
  33. def evalTypeExact(_value: String): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    EvalTypeAccessors
  34. def evalTypeNot(_values: String*): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    EvalTypeAccessors
  35. def evalTypeNot(_value: String): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    EvalTypeAccessors
  36. def exec(): Unit
    Definition Classes
    Steps
  37. def file: File[Labels]

    Traverse to source file

    Traverse to source file

    Definition Classes
    CpgSteps
  38. def filter(predicate: (Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]) ⇒ Steps[_, _, _]): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    Steps
  39. def filterNot(predicate: (Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]) ⇒ Steps[_, _, _]): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    Steps
  40. def filterOnEnd(predicate: (codepropertygraph.generated.nodes.Method) ⇒ Boolean): NodeSteps[codepropertygraph.generated.nodes.Method, Labels]
    Definition Classes
    NodeSteps
  41. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  42. def flatMap[NewSteps <: StepsRoot](fun: (codepropertygraph.generated.nodes.Method) ⇒ 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
  43. def fullName(value: String*): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    FullNameAccessors
  44. def fullName(value: String): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    FullNameAccessors
  45. def fullName(): Steps[String, String, Labels]
    Definition Classes
    FullNameAccessors
  46. def fullNameExact(values: String*): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    FullNameAccessors
  47. def fullNameExact(value: String): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    FullNameAccessors
  48. def fullNameNot(values: String*): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    FullNameAccessors
  49. def fullNameNot(value: String): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    FullNameAccessors
  50. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  51. implicit val graph: Graph
    Definition Classes
    CpgSteps
  52. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  53. def head(): codepropertygraph.generated.nodes.Method
    Definition Classes
    Steps
  54. def headOption(): Option[codepropertygraph.generated.nodes.Method]
    Definition Classes
    Steps
  55. def id(ids: AnyRef*): NodeSteps[codepropertygraph.generated.nodes.Method, Labels]
    Definition Classes
    NodeSteps
  56. def inVTableOfTypeDecl: TypeDecl[Labels]

    Traverse to the type declarations were this method is in the VTable.

  57. def isAbstract: Method[Labels]

    Traverse to abstract methods

  58. def isConstructor: Method[Labels]

    Traverse to constructors, that is, keep methods that are constructors

  59. def isDefined: Boolean
    Definition Classes
    Steps
  60. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  61. def isNative: Method[Labels]

    Traverse to native methods

  62. def isNotStub: Method[Labels]

    Traverse only to methods that are not stubs.

  63. def isPrivate: Method[Labels]

    Traverse to private methods

  64. def isProtected: Method[Labels]

    Traverse to protected methods

  65. def isPublic: Method[Labels]

    Traverse to public methods

  66. def isStatic: Method[Labels]

    Traverse to static methods

  67. def isStub: Method[Labels]

    Traverse only to methods that are stubs, e.g., their code is not available

  68. def isVirtual: Method[Labels]

    Traverse to virtual method

  69. def iterate(): Unit
    Definition Classes
    Steps
  70. def l: List[codepropertygraph.generated.nodes.Method]
    Definition Classes
    Steps
  71. def lineNumber(value: Integer*): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    LineNumberAccessors
  72. def lineNumber(value: Integer): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    LineNumberAccessors
  73. def lineNumber(): Steps[Integer, Integer, Labels]
    Definition Classes
    LineNumberAccessors
  74. def lineNumberNot(values: Integer*): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    LineNumberAccessors
  75. def lineNumberNot(value: Integer): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    LineNumberAccessors
  76. def literal: Literal[Labels]

    Traverse to literals of method

  77. def local: Local[Labels]

    Traverse to the methods local variables

  78. def map[NewEndDomain, NewEndGraph, NewSteps <: StepsRoot](fun: (codepropertygraph.generated.nodes.Method) ⇒ NewEndDomain)(implicit newConverter: Aux[NewEndDomain, NewEndGraph], constr: Aux[NewEndDomain, Labels, NewEndGraph, NewSteps]): NewSteps
    Definition Classes
    Steps
  79. def methodInstance: MethodInst[Labels]

    Traverse to concrete instances of method.

  80. def methodReturn: MethodReturn[Labels]

    Traverse to formal return parameter

  81. def modifier: Modifier[Labels]

    Traverse to method modifiers, e.g., "static", "public".

  82. def name(value: String*): Steps[codepropertygraph.generated.nodes.Method, 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
  83. def name(value: String): Steps[codepropertygraph.generated.nodes.Method, 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
  84. def name(): Steps[String, String, Labels]

    Traverse to name

    Traverse to name

    Definition Classes
    NameAccessors
  85. def nameExact(values: String*): Steps[codepropertygraph.generated.nodes.Method, 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
  86. def nameExact(value: String): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]

    Traverse to nodes where name matches value exactly.

    Traverse to nodes where name matches value exactly.

    Definition Classes
    NameAccessors
  87. def nameNot(values: String*): Steps[codepropertygraph.generated.nodes.Method, 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
  88. def nameNot(value: String): Steps[codepropertygraph.generated.nodes.Method, 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
  89. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  90. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  91. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  92. def onRaw(fun: (GremlinScala[Vertex]) ⇒ GremlinScala[Vertex]): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    Steps
  93. def or(orTraversals: (Steps[codepropertygraph.generated.nodes.Method, Vertex, HNil]) ⇒ Steps[_, _, _]*): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    Steps
  94. def orderBy[A](fun: (codepropertygraph.generated.nodes.Method) ⇒ A): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    Steps
  95. def p(): Unit
    Definition Classes
    Steps
  96. def parameter: MethodParameter[Labels]

    Traverse to parameters of the method

  97. def property[P](property: Key[P]): Steps[P, P, Labels]
    Definition Classes
    PropertyAccessors
  98. def propertyFilter[Out, P](property: Key[P], value: P): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    PropertyAccessors
  99. def propertyFilterMultiple[Out, P](property: Key[P], values: P*): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    PropertyAccessors
  100. def propertyFilterNot[Out, P](property: Key[P], value: P): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    PropertyAccessors
  101. def propertyFilterNotMultiple[Out, P](property: Key[P], values: P*): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]
    Definition Classes
    PropertyAccessors
  102. val raw: GremlinScala[Vertex]
    Definition Classes
    MethodEvalTypeAccessorsPropertyAccessorsStringPropertyAccessorsCpgSteps → NodeSteps → Steps → StepsRoot
  103. def repeat[NewEndDomain >: codepropertygraph.generated.nodes.Method](repeatTraversal: (Steps[codepropertygraph.generated.nodes.Method, Vertex, HNil]) ⇒ Steps[NewEndDomain, Vertex, _])(implicit newConverter: Aux[NewEndDomain, Vertex]): Steps[NewEndDomain, Vertex, Labels]
    Definition Classes
    Steps
  104. def s(): Stream[codepropertygraph.generated.nodes.Method]
    Definition Classes
    Steps
  105. 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
  106. def select[Label, LabelGraph](label: StepLabel[Label])(implicit conv1: Aux[Label, LabelGraph]): Steps[Label, LabelGraph, Labels]
    Definition Classes
    Steps
  107. 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
  108. def sideEffect(fun: (codepropertygraph.generated.nodes.Method) ⇒ Any): NodeSteps[codepropertygraph.generated.nodes.Method, Labels]
    Definition Classes
    NodeSteps
  109. def signature(value: String*): Steps[codepropertygraph.generated.nodes.Method, 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
  110. def signature(value: String): Steps[codepropertygraph.generated.nodes.Method, 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
  111. def signature(): Steps[String, String, Labels]

    Traverse to signature

    Traverse to signature

    Definition Classes
    SignatureAccessors
  112. def signatureExact(values: String*): Steps[codepropertygraph.generated.nodes.Method, 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
  113. def signatureExact(value: String): Steps[codepropertygraph.generated.nodes.Method, Vertex, Labels]

    Traverse to nodes where signature matches value exactly.

    Traverse to nodes where signature matches value exactly.

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

    Execute traversal and convert the result to json.

    Execute traversal and convert the result to json.

    Definition Classes
    CpgSteps
  127. def toJsonPretty: String
    Definition Classes
    CpgSteps
  128. def toList(): List[codepropertygraph.generated.nodes.Method]
    Definition Classes
    Steps
  129. def toMaps(): Steps[Map[String, AnyRef], Map[String, AnyRef], Labels]
    Definition Classes
    CpgSteps
  130. def toSet(): Set[codepropertygraph.generated.nodes.Method]
    Definition Classes
    Steps
  131. def toStream(): Stream[codepropertygraph.generated.nodes.Method]
    Definition Classes
    Steps
  132. def toString(): String
    Definition Classes
    Steps → AnyRef → Any
  133. def topLevelExpressions: Expression[Labels]
  134. def until(untilTraversal: (Steps[codepropertygraph.generated.nodes.Method, Vertex, HNil]) ⇒ Steps[_, _, _]): Steps[codepropertygraph.generated.nodes.Method, 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 EvalTypeAccessors[codepropertygraph.generated.nodes.Method, Labels]

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

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

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

Inherited from FullNameAccessors[codepropertygraph.generated.nodes.Method, Labels]

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

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

Inherited from DeclarationBase[codepropertygraph.generated.nodes.Method, Labels]

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

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

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

Inherited from StepsRoot

Inherited from AnyRef

Inherited from Any

Ungrouped