cloud-property-graph icon indicating copy to clipboard operation
cloud-property-graph copied to clipboard

CloudPG v8 Upgrade

Open CodingDepot opened this issue 1 year ago • 4 comments

This PR aims to upgrade the CPG-dependency to version 7 while still maintaining the full functionality of the CloudPG. The work done in this PR also includes changes from @oxisto to #58.

This PR is still WIP, necessary steps include:

  • [x] Fix compilation errors
  • [x] Use new "Name" classes for Nodes
  • [x] Update the included RubyLanguage
  • [x] Go: Specify a working pass evaluation order so that no Nodes are missing
  • [ ] Go: Make sure a valid path from the Label to the goal is formed and all respective tests pass
  • [x] Python: Specify a working pass evaluation order so that no Nodes are missing
  • [x] Python: Make sure a valid path from the Label to the goal is formed and all respective tests pass

CodingDepot avatar Aug 10 '23 09:08 CodingDepot

Main problems at the moment seem to be:

  • RequestPass.kt (line 53)
  • GinGonicPass.kt (line 122)

In both locations, trying to dereference a DeclaredReferenceExpression fails as the "refersTo" field is always null.

Edit: The CryptographyPass (line 36) suffers from the same issue. Interestingly, GoCryptoPass (line 46) does not after adding the GoExtraPass as a dependency.

CodingDepot avatar Aug 21 '23 09:08 CodingDepot

The problem in the RequestPass (for python requests) can be fixed by making it depend on the GoExtraPass.

CodingDepot avatar Aug 24 '23 10:08 CodingDepot

The problem in the RequestPass (for python requests) can be fixed by making it depend on the GoExtraPass.

This sound strange. I suspect that the general order of passes ist still incorrect. I can try to have a look later.

oxisto avatar Aug 24 '23 12:08 oxisto

The problem in the RequestPass (for python requests) can be fixed by making it depend on the GoExtraPass.

This sound strange. I suspect that the general order of passes ist still incorrect. I can try to have a look later.

After a quick look, I would suggest that all of these special passes should depend on at least the VariableUsageResolver and the CallResolver.

We should probably add a new base class that all of those passes derive from and add the annotation to that base class.

oxisto avatar Aug 24 '23 12:08 oxisto