[c2cpg] Added fullname uniqueness for type decls, bindings, and namespace blocks#5394
[c2cpg] Added fullname uniqueness for type decls, bindings, and namespace blocks#5394max-leuthaeuser merged 7 commits intomasterfrom
Conversation
maltek
left a comment
There was a problem hiding this comment.
I was going to caution that we need to preserve the links from a class with forward-declared member functions (usually in header files) to the implementations of those functions (usually not in headers). But I can't actually find any such links (e.g. method bindings) as of yet. So we'll just have to be careful about all that once we implement it.
class A {
int foo();
}#include "a.hpp"
int A::foo() {
return 1;
}
...cli/frontends/c2cpg/src/main/scala/io/joern/c2cpg/astcreation/AstForExpressionsCreator.scala
Outdated
Show resolved
Hide resolved
joern-cli/frontends/c2cpg/src/main/scala/io/joern/c2cpg/astcreation/FullNameProvider.scala
Outdated
Show resolved
Hide resolved
joern-cli/frontends/c2cpg/src/main/scala/io/joern/c2cpg/passes/FullNameUniquenessPass.scala
Outdated
Show resolved
Hide resolved
joern-cli/frontends/c2cpg/src/main/scala/io/joern/c2cpg/passes/FullNameUniquenessPass.scala
Outdated
Show resolved
Hide resolved
joern-cli/frontends/c2cpg/src/main/scala/io/joern/c2cpg/passes/FullNameUniquenessPass.scala
Show resolved
Hide resolved
joern-cli/frontends/c2cpg/src/main/scala/io/joern/c2cpg/passes/FullNameUniquenessPass.scala
Show resolved
Hide resolved
We never create methods or bindings for forward-declared methods if we encounter an actual implementation later on. |
Yes, that's what I was trying to say. We should at some point (once we also emit proper dynamic calls), but that's for another PR. |
No description provided.