diff --git a/joern-cli/frontends/csharpsrc2cpg/src/main/scala/io/joern/csharpsrc2cpg/CSharpSrc2Cpg.scala b/joern-cli/frontends/csharpsrc2cpg/src/main/scala/io/joern/csharpsrc2cpg/CSharpSrc2Cpg.scala index b8176e79a0a8..873a919769a0 100644 --- a/joern-cli/frontends/csharpsrc2cpg/src/main/scala/io/joern/csharpsrc2cpg/CSharpSrc2Cpg.scala +++ b/joern-cli/frontends/csharpsrc2cpg/src/main/scala/io/joern/csharpsrc2cpg/CSharpSrc2Cpg.scala @@ -10,7 +10,7 @@ import io.joern.x2cpg.X2Cpg.withNewEmptyCpg import io.joern.x2cpg.astgen.AstGenRunner.AstGenRunnerResult import io.joern.x2cpg.astgen.ParserResult import io.joern.x2cpg.passes.callgraph.NaiveCallLinker -import io.joern.x2cpg.passes.frontend.MetaDataPass +import io.joern.x2cpg.passes.frontend.{MetaDataPass, TypeNodePass} import io.joern.x2cpg.utils.{ConcurrentTaskUtil, Environment, HashUtil, Report} import io.joern.x2cpg.{SourceFiles, X2CpgFrontend} import io.shiftleft.codepropertygraph.Cpg @@ -56,6 +56,7 @@ class CSharpSrc2Cpg extends X2CpgFrontend[Config] { internalProgramSummary } new AstCreationPass(cpg, astCreators.map(_.withSummary(programSummary)), report).createAndApply() + TypeNodePass.withTypesFromCpg(cpg).createAndApply() report.print() } } diff --git a/joern-cli/frontends/csharpsrc2cpg/src/test/scala/io/joern/csharpsrc2cpg/querying/ast/NamespaceTests.scala b/joern-cli/frontends/csharpsrc2cpg/src/test/scala/io/joern/csharpsrc2cpg/querying/ast/NamespaceTests.scala index 05f0b7e3cd4a..d8ca98663e40 100644 --- a/joern-cli/frontends/csharpsrc2cpg/src/test/scala/io/joern/csharpsrc2cpg/querying/ast/NamespaceTests.scala +++ b/joern-cli/frontends/csharpsrc2cpg/src/test/scala/io/joern/csharpsrc2cpg/querying/ast/NamespaceTests.scala @@ -110,7 +110,7 @@ class NamespaceTests extends CSharpCode2CpgFixture { "assign appropriate AST parent for both classes" in { val List(fooNamespace) = cpg.namespaceBlock.nameExact("Foo").l - val List(bar, baz) = cpg.typeDecl.l + val List(bar, baz) = cpg.typeDecl.name("Ba.*").l bar.astParent shouldBe fooNamespace baz.astParent shouldBe fooNamespace