Packages

  • package root
    Definition Classes
    root
  • package io
    Definition Classes
    root
  • package shiftleft
    Definition Classes
    io
  • package semanticcpg

    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 at

    io.shiftleft.codepropertygraph.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.semanticcpg.language.types.structure.MethodTraversal.

    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[(Method, 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 accesspath
    Definition Classes
    semanticcpg
  • package codedumper
    Definition Classes
    semanticcpg
  • package dotgenerator
    Definition Classes
    semanticcpg
  • package language

    Language for traversing the code property graph

    Language for traversing the code property graph

    Implicit conversions to specific steps, based on the node at hand. Automatically in scope when using anything in the steps package, e.g. Steps

    Definition Classes
    semanticcpg
  • package android

    Language extensions for android.

  • package bindingextension
  • package callgraphextension
  • package dotextension
  • package nodemethods
  • package operatorextension
  • package types
  • AccessPathHandling
  • DefaultNodeExtensionFinder
  • HasLocation
  • HasStoreMethod
  • ICallResolver
  • LocationCreator
  • NewNodeSteps
  • NewNodeTypeDeco
  • NewTagNodePairTraversal
  • NoResolve
  • NodeExtensionFinder
  • NodeOrdering
  • NodeSteps
  • NodeTypeStarters
  • Show
  • Steps
  • TagTraversal
  • package layers
    Definition Classes
    semanticcpg
  • package testing
    Definition Classes
    semanticcpg
  • package utils
    Definition Classes
    semanticcpg

package language

Language for traversing the code property graph

Implicit conversions to specific steps, based on the node at hand. Automatically in scope when using anything in the steps package, e.g. Steps

Linear Supertypes
NodeTraversalImplicits, NodeBaseTypeTraversalImplicits, LowPrioImplicits, overflowdb.traversal.Implicits, language.operatorextension.Implicits, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. language
  2. NodeTraversalImplicits
  3. NodeBaseTypeTraversalImplicits
  4. LowPrioImplicits
  5. Implicits
  6. Implicits
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package android

    Language extensions for android.

  2. package bindingextension
  3. package callgraphextension
  4. package dotextension
  5. package nodemethods
  6. package operatorextension
  7. package types

Type Members

  1. trait HasLocation extends Any
  2. trait HasStoreMethod extends AnyRef
  3. trait ICallResolver extends AnyRef
  4. class NewNodeSteps[A <: NewNode] extends HasStoreMethod
  5. implicit final class NewNodeTypeDeco[NodeType <: NewNode] extends AnyVal
  6. class NewTagNodePairTraversal extends HasStoreMethod
  7. trait NodeExtensionFinder extends AnyRef
  8. final class NodeSteps[NodeType <: StoredNode] extends AnyVal

    Steps for all node types

    Steps for all node types

    This is the base class for all steps defined on

    Annotations
    @Traversal()
  9. class NodeTypeStarters extends TraversalSource
    Annotations
    @TraversalSource()
  10. trait Show[A] extends AnyRef

    Typeclass for (pretty) printing an object

  11. final class Steps[A] extends AnyVal

    Base class for our DSL These are the base steps available in all steps of the query language.

    Base class for our DSL These are the base steps available in all steps of the query language. There are no constraints on the element types, unlike e.g. NodeSteps

  12. final class TagTraversal extends AnyVal

Value Members

  1. implicit def cfgNodeToAsNode(node: CfgNode): AstNodeMethods
  2. implicit def graphToInterproceduralDot(cpg: Cpg): InterproceduralNodeDot
  3. implicit def iterOnceToAnnotationParameterAssignTrav[A <: AnnotationParameterAssign](a: IterableOnce[A]): AnnotationParameterAssignTraversal
  4. implicit def iterOnceToAnnotationTrav[A <: Annotation](a: IterableOnce[A]): AnnotationTraversal
  5. implicit def iterOnceToAstNodeDot[A <: AstNode](a: IterableOnce[A]): AstNodeDot[A]
  6. implicit def iterOnceToAstNodeTraversal[A <: AstNode](a: IterableOnce[A]): AstNodeTraversal[A]
    Definition Classes
    LowPrioImplicits
  7. implicit def iterOnceToBindingMethodTrav[A <: Method](a: IterableOnce[A]): MethodTraversal
  8. implicit def iterOnceToBindingTypeDeclTrav[A <: TypeDecl](a: IterableOnce[A]): TypeDeclTraversal
  9. implicit def iterOnceToCallTrav[A <: Call](a: IterableOnce[A]): CallTraversal
  10. implicit def iterOnceToCfgNodeDot[A <: Method](a: IterableOnce[A]): CfgNodeDot
  11. implicit def iterOnceToCfgNodeTraversal[A <: CfgNode](a: IterableOnce[A]): CfgNodeTraversal[A]
    Definition Classes
    LowPrioImplicits
  12. implicit def iterOnceToControlStructureTrav[A <: ControlStructure](a: IterableOnce[A]): ControlStructureTraversal
  13. implicit def iterOnceToEvalTypeAccessorsExpression[A <: Expression](a: IterableOnce[A]): EvalTypeAccessors[A]
  14. implicit def iterOnceToEvalTypeAccessorsLocal[A <: Local](a: IterableOnce[A]): EvalTypeAccessors[A]
  15. implicit def iterOnceToEvalTypeAccessorsMember[A <: Member](a: IterableOnce[A]): EvalTypeAccessors[A]
  16. implicit def iterOnceToEvalTypeAccessorsMethod[A <: Method](a: IterableOnce[A]): EvalTypeAccessors[A]
  17. implicit def iterOnceToEvalTypeAccessorsMethodReturn[A <: MethodReturn](a: IterableOnce[A]): EvalTypeAccessors[A]
  18. implicit def iterOnceToEvalTypeAccessorsParameterIn[A <: MethodParameterIn](a: IterableOnce[A]): EvalTypeAccessors[A]
  19. implicit def iterOnceToEvalTypeAccessorsParameterOut[A <: MethodParameterOut](a: IterableOnce[A]): EvalTypeAccessors[A]
  20. implicit def iterOnceToFileTrav[A <: File](a: IterableOnce[A]): FileTraversal
  21. implicit def iterOnceToIdentifierTrav[A <: Identifier](a: IterableOnce[A]): IdentifierTraversal
  22. implicit def iterOnceToMethodParameterInTrav[A <: MethodParameterIn](a: IterableOnce[A]): MethodParameterTraversal
  23. implicit def iterOnceToMethodParameterOutTrav[A <: MethodParameterOut](a: IterableOnce[A]): MethodParameterOutTraversal
  24. implicit def iterOnceToMethodReturnTrav[A <: MethodReturn](a: IterableOnce[A]): MethodReturnTraversal
  25. implicit def iterOnceToMethodTravCallGraphExt[A <: Method](a: IterableOnce[A]): MethodTraversal
  26. implicit def iterOnceToModifierAccessorsMember[A <: Member](a: IterableOnce[A]): ModifierAccessors[A]
  27. implicit def iterOnceToModifierAccessorsMethod[A <: Method](a: IterableOnce[A]): ModifierAccessors[A]
  28. implicit def iterOnceToModifierAccessorsTypeDecl[A <: TypeDecl](a: IterableOnce[A]): ModifierAccessors[A]
  29. implicit def iterOnceToNamespaceBlockTrav[A <: NamespaceBlock](a: IterableOnce[A]): NamespaceBlockTraversal
  30. implicit def iterOnceToNamespaceTrav[A <: Namespace](a: IterableOnce[A]): NamespaceTraversal
  31. implicit def iterOnceToNodeSteps[A <: StoredNode](a: IterableOnce[A]): NodeSteps[A]
  32. implicit def iterOnceToOriginalCallTrav[A <: Call](a: IterableOnce[A]): CallTraversal
  33. implicit def iterOnceToTypeDeclTrav[A <: TypeDecl](a: IterableOnce[A]): TypeDeclTraversal
  34. implicit def iterOnceToTypeTrav[A <: Type](a: IterableOnce[A]): TypeTraversal
  35. implicit def iterToDependencyTrav[A <: Dependency](a: IterableOnce[A]): DependencyTraversal
  36. implicit def iterToImportTrav[A <: Import](a: IterableOnce[A]): ImportTraversal
  37. implicit def iterableToTraversal[A](iterable: IterableOnce[A]): Traversal[A]
    Definition Classes
    Implicits
  38. implicit def iteratorToTraversal[A](iterator: Iterator[A]): Traversal[A]
    Definition Classes
    Implicits
  39. implicit def jIteratortoTraversal[A](jiterator: Iterator[A]): Traversal[A]
    Definition Classes
    Implicits
  40. implicit def singleToAnnotationParameterAssignTrav[A <: AnnotationParameterAssign](a: A): AnnotationParameterAssignTraversal
  41. implicit def singleToAnnotationTrav[A <: Annotation](a: A): AnnotationTraversal
  42. implicit def singleToAstNodeDot[A <: AstNode](a: A): AstNodeDot[A]
  43. implicit def singleToAstNodeTraversal[A <: AstNode](a: A): AstNodeTraversal[A]
    Definition Classes
    LowPrioImplicits
  44. implicit def singleToBindingMethodTrav[A <: Method](a: A): MethodTraversal
  45. implicit def singleToBindingTypeDeclTrav[A <: TypeDecl](a: A): TypeDeclTraversal
  46. implicit def singleToCallTrav[A <: Call](a: A): CallTraversal
  47. implicit def singleToCfgNodeDot[A <: Method](a: A): CfgNodeDot
  48. implicit def singleToCfgNodeTraversal[A <: CfgNode](a: A): CfgNodeTraversal[A]
    Definition Classes
    LowPrioImplicits
  49. implicit def singleToControlStructureTrav[A <: ControlStructure](a: A): ControlStructureTraversal
  50. implicit def singleToDependencyTrav[A <: Dependency](a: A): DependencyTraversal
  51. implicit def singleToEvalTypeAccessorsExpression[A <: Expression](a: A): EvalTypeAccessors[A]
  52. implicit def singleToEvalTypeAccessorsLocal[A <: Local](a: A): EvalTypeAccessors[A]
  53. implicit def singleToEvalTypeAccessorsMember[A <: Member](a: A): EvalTypeAccessors[A]
  54. implicit def singleToEvalTypeAccessorsMethod[A <: Method](a: A): EvalTypeAccessors[A]
  55. implicit def singleToEvalTypeAccessorsMethodReturn[A <: MethodReturn](a: A): EvalTypeAccessors[A]
  56. implicit def singleToEvalTypeAccessorsParameterIn[A <: MethodParameterIn](a: A): EvalTypeAccessors[A]
  57. implicit def singleToEvalTypeAccessorsParameterOut[A <: MethodParameterOut](a: A): EvalTypeAccessors[A]
  58. implicit def singleToFileTrav[A <: File](a: A): FileTraversal
  59. implicit def singleToIdentifierTrav[A <: Identifier](a: A): IdentifierTraversal
  60. implicit def singleToImportTrav[A <: Import](a: A): ImportTraversal
  61. implicit def singleToMethodParameterInTrav[A <: MethodParameterIn](a: A): MethodParameterTraversal
  62. implicit def singleToMethodParameterOutTrav[A <: MethodParameterOut](a: A): MethodParameterOutTraversal
  63. implicit def singleToMethodTravCallGraphExt[A <: Method](a: A): MethodTraversal
  64. implicit def singleToModifierAccessorsMember[A <: Member](a: A): ModifierAccessors[A]
  65. implicit def singleToModifierAccessorsMethod[A <: Method](a: A): ModifierAccessors[A]
  66. implicit def singleToModifierAccessorsTypeDecl[A <: TypeDecl](a: A): ModifierAccessors[A]
  67. implicit def singleToNamespaceBlockTrav[A <: NamespaceBlock](a: A): NamespaceBlockTraversal
  68. implicit def singleToNamespaceTrav[A <: Namespace](a: A): NamespaceTraversal
  69. implicit def singleToTypeDeclTrav[A <: TypeDecl](a: A): TypeDeclTraversal
  70. implicit def singleToTypeTrav[A <: Type](a: A): TypeTraversal
  71. implicit def toAnnotationLiteralTraversalExtGen[NodeType <: AnnotationLiteral](trav: IterableOnce[NodeType]): AnnotationLiteralTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  72. implicit def toAnnotationParameterAssignTraversalExtGen[NodeType <: AnnotationParameterAssign](trav: IterableOnce[NodeType]): AnnotationParameterAssignTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  73. implicit def toAnnotationParameterTraversalExtGen[NodeType <: AnnotationParameter](trav: IterableOnce[NodeType]): AnnotationParameterTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  74. implicit def toAnnotationTraversalExtGen[NodeType <: Annotation](trav: IterableOnce[NodeType]): AnnotationTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  75. implicit def toArrayAccessExt(arrayAccess: ArrayAccess): ArrayAccessMethods
    Definition Classes
    Implicits
  76. implicit def toArrayAccessTrav(steps: Traversal[ArrayAccess]): ArrayAccessTraversal
    Definition Classes
    Implicits
  77. implicit def toArrayInitializerTraversalExtGen[NodeType <: ArrayInitializer](trav: IterableOnce[NodeType]): ArrayInitializerTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  78. implicit def toAssignmentExt(assignment: Assignment): AssignmentMethods
    Definition Classes
    Implicits
  79. implicit def toAssignmentTrav(steps: Traversal[Assignment]): AssignmentTraversal
    Definition Classes
    Implicits
  80. implicit def toAstNodeMethods(node: AstNode): AstNodeMethods
  81. implicit def toAstNodeTraversalExtGen[NodeType <: AstNode](trav: IterableOnce[NodeType]): AstNodeTraversalExtGen[NodeType]
    Definition Classes
    NodeBaseTypeTraversalImplicits
  82. implicit def toBindingTraversalExtGen[NodeType <: Binding](trav: IterableOnce[NodeType]): BindingTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  83. implicit def toBlockTraversalExtGen[NodeType <: Block](trav: IterableOnce[NodeType]): BlockTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  84. implicit def toCallMethods(node: Call): CallMethods
  85. implicit def toCallReprTraversalExtGen[NodeType <: CallRepr](trav: IterableOnce[NodeType]): CallReprTraversalExtGen[NodeType]
    Definition Classes
    NodeBaseTypeTraversalImplicits
  86. implicit def toCallTraversalExtGen[NodeType <: Call](trav: IterableOnce[NodeType]): CallTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  87. implicit def toCfgNodeMethods(node: CfgNode): CfgNodeMethods
  88. implicit def toCfgNodeTraversalExtGen[NodeType <: CfgNode](trav: IterableOnce[NodeType]): CfgNodeTraversalExtGen[NodeType]
    Definition Classes
    NodeBaseTypeTraversalImplicits
  89. implicit def toClosureBindingTraversalExtGen[NodeType <: ClosureBinding](trav: IterableOnce[NodeType]): ClosureBindingTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  90. implicit def toCommentTraversalExtGen[NodeType <: Comment](trav: IterableOnce[NodeType]): CommentTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  91. implicit def toConfigFileTraversalExtGen[NodeType <: ConfigFile](trav: IterableOnce[NodeType]): ConfigFileTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  92. implicit def toControlStructureTraversalExtGen[NodeType <: ControlStructure](trav: IterableOnce[NodeType]): ControlStructureTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  93. implicit def toDeclarationTraversalExtGen[NodeType <: Declaration](trav: IterableOnce[NodeType]): DeclarationTraversalExtGen[NodeType]
    Definition Classes
    NodeBaseTypeTraversalImplicits
  94. implicit def toDependencyTraversalExtGen[NodeType <: Dependency](trav: IterableOnce[NodeType]): DependencyTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  95. implicit def toEdgeTraversal[A <: Edge](traversal: Traversal[A]): EdgeTraversal[A]
    Definition Classes
    Implicits
  96. implicit def toElementTraversal[A <: Element](traversal: Traversal[A]): ElementTraversal[A]
    Definition Classes
    Implicits
  97. implicit def toExpression[A <: Expression](a: IterableOnce[A]): ExpressionTraversal[A]
  98. implicit def toExpressionMethods(node: Expression): ExpressionMethods
  99. implicit def toExpressionTraversalExtGen[NodeType <: Expression](trav: IterableOnce[NodeType]): ExpressionTraversalExtGen[NodeType]
    Definition Classes
    NodeBaseTypeTraversalImplicits
  100. implicit def toExtendedNode(node: NodeOrDetachedNode): NodeMethods
  101. implicit def toExtendedStoredNode(node: StoredNode): StoredNodeMethods
  102. implicit def toFieldAccessExt(fieldAccess: FieldAccess): FieldAccessMethods
    Definition Classes
    Implicits
  103. implicit def toFieldAccessTrav(steps: Traversal[FieldAccess]): FieldAccessTraversal
    Definition Classes
    Implicits
  104. implicit def toFieldIdentifierTraversalExtGen[NodeType <: FieldIdentifier](trav: IterableOnce[NodeType]): FieldIdentifierTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  105. implicit def toFileTraversalExtGen[NodeType <: File](trav: IterableOnce[NodeType]): FileTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  106. implicit def toFindingTraversalExtGen[NodeType <: Finding](trav: IterableOnce[NodeType]): FindingTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  107. implicit def toIdentifierMethods(node: Identifier): IdentifierMethods
  108. implicit def toIdentifierTraversalExtGen[NodeType <: Identifier](trav: IterableOnce[NodeType]): IdentifierTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  109. implicit def toImportTraversalExtGen[NodeType <: Import](trav: IterableOnce[NodeType]): ImportTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  110. implicit def toJumpLabelTraversalExtGen[NodeType <: JumpLabel](trav: IterableOnce[NodeType]): JumpLabelTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  111. implicit def toJumpTargetTraversalExtGen[NodeType <: JumpTarget](trav: IterableOnce[NodeType]): JumpTargetTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  112. implicit def toKeyValuePairTraversalExtGen[NodeType <: KeyValuePair](trav: IterableOnce[NodeType]): KeyValuePairTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  113. implicit def toLiteralMethods(node: Literal): LiteralMethods
  114. implicit def toLiteralTraversalExtGen[NodeType <: Literal](trav: IterableOnce[NodeType]): LiteralTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  115. implicit def toLocal(traversal: IterableOnce[Local]): LocalTraversal
  116. implicit def toLocalMethods(node: Local): LocalMethods
  117. implicit def toLocalTraversalExtGen[NodeType <: Local](trav: IterableOnce[NodeType]): LocalTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  118. implicit def toLocationTraversalExtGen[NodeType <: Location](trav: IterableOnce[NodeType]): LocationTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  119. implicit def toMember(traversal: IterableOnce[Member]): MemberTraversal
  120. implicit def toMemberTraversalExtGen[NodeType <: Member](trav: IterableOnce[NodeType]): MemberTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  121. implicit def toMetaDataTraversalExtGen[NodeType <: MetaData](trav: IterableOnce[NodeType]): MetaDataTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  122. implicit def toMethod(traversal: IterableOnce[Method]): MethodTraversal
  123. implicit def toMethodMethods(node: Method): MethodMethods
  124. implicit def toMethodParamInMethods(node: MethodParameterIn): MethodParameterInMethods
  125. implicit def toMethodParamOutMethods(node: MethodParameterOut): MethodParameterOutMethods
  126. implicit def toMethodParameterInTraversalExtGen[NodeType <: MethodParameterIn](trav: IterableOnce[NodeType]): MethodParameterInTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  127. implicit def toMethodParameterOutTraversalExtGen[NodeType <: MethodParameterOut](trav: IterableOnce[NodeType]): MethodParameterOutTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  128. implicit def toMethodRefMethods(node: MethodRef): MethodRefMethods
  129. implicit def toMethodRefTraversalExtGen[NodeType <: MethodRef](trav: IterableOnce[NodeType]): MethodRefTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  130. implicit def toMethodReturnMethods(node: MethodReturn): MethodReturnMethods
  131. implicit def toMethodReturnTraversalExtGen[NodeType <: MethodReturn](trav: IterableOnce[NodeType]): MethodReturnTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  132. implicit def toMethodTraversalExtGen[NodeType <: Method](trav: IterableOnce[NodeType]): MethodTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  133. implicit def toModifierTraversalExtGen[NodeType <: Modifier](trav: IterableOnce[NodeType]): ModifierTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  134. implicit def toNamespaceBlockTraversalExtGen[NodeType <: NamespaceBlock](trav: IterableOnce[NodeType]): NamespaceBlockTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  135. implicit def toNamespaceTraversalExtGen[NodeType <: Namespace](trav: IterableOnce[NodeType]): NamespaceTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  136. implicit def toNewNodeTrav[NodeType <: NewNode](trav: Traversal[NodeType]): NewNodeSteps[NodeType]
  137. implicit def toNodeTraversal[A <: Node](traversal: Traversal[A]): NodeTraversal[A]
    Definition Classes
    Implicits
  138. implicit def toNodeTypeStarters(cpg: Cpg): NodeTypeStarters
  139. implicit def toNodeTypeStartersOperatorExtension(cpg: Cpg): language.operatorextension.NodeTypeStarters
    Definition Classes
    Implicits
  140. implicit def toOpAstNodeExt[A <: AstNode](node: A): OpAstNodeMethods[A]
    Definition Classes
    Implicits
  141. implicit def toOpAstNodeTrav[A <: AstNode](steps: Traversal[A]): OpAstNodeTraversal[A]
    Definition Classes
    Implicits
  142. implicit def toReturnTraversalExtGen[NodeType <: Return](trav: IterableOnce[NodeType]): ReturnTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  143. implicit def toSteps[A](trav: Traversal[A]): Steps[A]
  144. implicit def toTagNodePairTraversalExtGen[NodeType <: TagNodePair](trav: IterableOnce[NodeType]): TagNodePairTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  145. implicit def toTagTraversal(trav: Traversal[Tag]): TagTraversal
  146. implicit def toTagTraversalExtGen[NodeType <: Tag](trav: IterableOnce[NodeType]): TagTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  147. implicit def toTargetExt(call: Expression): TargetMethods
    Definition Classes
    Implicits
  148. implicit def toTargetTrav(steps: Traversal[Expression]): TargetTraversal
    Definition Classes
    Implicits
  149. implicit def toTemplateDomTraversalExtGen[NodeType <: TemplateDom](trav: IterableOnce[NodeType]): TemplateDomTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  150. implicit def toTraversal[NodeType <: StoredNode](node: NodeType): Traversal[NodeType]

    Warning: implicitly lifting Node -> Traversal opens a broad space with a lot of accidental complexity and is considered a historical accident.

    Warning: implicitly lifting Node -> Traversal opens a broad space with a lot of accidental complexity and is considered a historical accident. We only keep it around because we want to preserve reachableBy(Node*), which unfortunately (due to type erasure) can't be an overload of reachableBy(Traversal*).

    In most places you should explicitly call Traversal.fromSingle instead of relying on this implicit.

  151. implicit def toTypeArgumentTraversalExtGen[NodeType <: TypeArgument](trav: IterableOnce[NodeType]): TypeArgumentTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  152. implicit def toTypeDeclTraversalExtGen[NodeType <: TypeDecl](trav: IterableOnce[NodeType]): TypeDeclTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  153. implicit def toTypeParameterTraversalExtGen[NodeType <: TypeParameter](trav: IterableOnce[NodeType]): TypeParameterTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  154. implicit def toTypeRefTraversalExtGen[NodeType <: TypeRef](trav: IterableOnce[NodeType]): TypeRefTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  155. implicit def toTypeTraversalExtGen[NodeType <: Type](trav: IterableOnce[NodeType]): TypeTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  156. implicit def toUnknownTraversalExtGen[NodeType <: Unknown](trav: IterableOnce[NodeType]): UnknownTraversalExtGen[NodeType]
    Definition Classes
    NodeTraversalImplicits
  157. object AccessPathHandling
  158. object DefaultNodeExtensionFinder extends NodeExtensionFinder
  159. object LocationCreator
  160. object NoResolve extends ICallResolver
  161. object NodeOrdering
  162. object Show
  163. object Steps

Inherited from NodeTraversalImplicits

Inherited from NodeBaseTypeTraversalImplicits

Inherited from LowPrioImplicits

Inherited from overflowdb.traversal.Implicits

Inherited from AnyRef

Inherited from Any

Ungrouped