Skip to content

Commit 64ee283

Browse files
authored
remove ambiguous implicits (#1020)
prior to this we had two conversion paths from `nodes.TrackingPoint` to `AstNode[nodes.AstNode]`, which would lead to ambiguous implicits that don't resolve, e.g. for `cpg.call.where(_.argument.order(1).isIdentifier)` re joernio/joern#382
1 parent d3ebf88 commit 64ee283

1 file changed

Lines changed: 6 additions & 9 deletions

File tree

  • dataflowengineoss/src/main/scala/io/shiftleft/dataflowengineoss/language

dataflowengineoss/src/main/scala/io/shiftleft/dataflowengineoss/language/package.scala

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,12 @@ package object language {
2323
implicit def trackingPointToAstNodeMethods(node: nodes.TrackingPoint) =
2424
new AstNodeMethods(trackingPointToAstNode(node))
2525

26-
private def trackingPointToAstNode(node: nodes.TrackingPoint): nodes.AstNode = node match {
27-
case n: nodes.AstNode => n
28-
case n: nodes.DetachedTrackingPoint => n.cfgNode
29-
case _ => ??? //TODO markus/fabs?
30-
}
31-
32-
implicit def trackingPointToAstBase[A](a: A)(
33-
implicit f: A => Traversal[nodes.TrackingPoint]): AstNode[nodes.AstNode] =
34-
new AstNode(f(a).map(trackingPointToAstNode))
26+
implicit def trackingPointToAstNode(node: nodes.TrackingPoint): nodes.AstNode =
27+
node match {
28+
case n: nodes.AstNode => n
29+
case n: nodes.DetachedTrackingPoint => n.cfgNode
30+
case _ => ??? //TODO markus/fabs?
31+
}
3532

3633
implicit def toDdgNodeDot[A](a: A)(implicit f: A => Traversal[nodes.Method]): DdgNodeDot =
3734
new DdgNodeDot(f(a))

0 commit comments

Comments
 (0)