From 7594d8ac8c795e9db189a7ae85543f206d9fa6a7 Mon Sep 17 00:00:00 2001 From: Markus Lottmann Date: Fri, 13 Nov 2020 12:55:24 +0100 Subject: [PATCH] Link calls with METHOD_REF receiver. No linking those calls was a leftover from when METHOD_REF node where no proper expressions and had no type associated. Also fixed error in CPG format spec. JUMP_TARGET cannot be the destination of a RECEIVER edge originating from a CALL since JUMP_TARGET is not an EXPRESSION. --- schema/src/main/resources/schemas/base.json | 1 - .../semanticcpg/passes/linking/calllinker/CallLinker.scala | 1 - 2 files changed, 2 deletions(-) diff --git a/schema/src/main/resources/schemas/base.json b/schema/src/main/resources/schemas/base.json index 48191fb37..cb5bedbba 100644 --- a/schema/src/main/resources/schemas/base.json +++ b/schema/src/main/resources/schemas/base.json @@ -258,7 +258,6 @@ {"name": "METHOD_REF", "cardinality": "0-1:0-1"}, {"name": "TYPE_REF"}, {"name": "BLOCK", "cardinality": "0-1:0-1"}, - {"name": "JUMP_TARGET"}, {"name": "CONTROL_STRUCTURE"}, {"name": "UNKNOWN"} ]}, diff --git a/semanticcpg/src/main/scala/io/shiftleft/semanticcpg/passes/linking/calllinker/CallLinker.scala b/semanticcpg/src/main/scala/io/shiftleft/semanticcpg/passes/linking/calllinker/CallLinker.scala index 3a07134d4..48c9a6771 100644 --- a/semanticcpg/src/main/scala/io/shiftleft/semanticcpg/passes/linking/calllinker/CallLinker.scala +++ b/semanticcpg/src/main/scala/io/shiftleft/semanticcpg/passes/linking/calllinker/CallLinker.scala @@ -54,7 +54,6 @@ class CallLinker(cpg: Cpg) extends CpgPass(cpg) { if (receiverIt.hasNext) { val receiver = receiverIt.next receiver match { - case methodRefReceiver: nodes.MethodRef => // nothing case _ => val receiverTypeDecl = receiver ._evalTypeOut()