Skip to content

static function can't get function any graph information #201

@hgcdanniel

Description

@hgcdanniel

hi, when code is static function ,then can't get anything,

{
  "nodes": [
    {
      "node_id": 364085,
      "labels": [
        "Project"
      ],
      "properties": {
        "name": "cmGlobalFastbuildGenerator.cxx"
      }
    }
  ],
  "relationships": [],
  "metadata": {
    "total_nodes": 1,
    "total_relationships": 0,
    "exported_at": "2025-12-23T05:54:31.755813+00:00"
  }
}

command:
cgr start --repo-path /data/dandan.song/code/sdd_code/code-graph-rag/CMake/Source/cmGlobalFastbuildGenerator.cxx --update-graph --clean -o test.json

source code is :github :https://github.com/Kitware/CMake/blob/master/Source/cmGlobalFastbuildGenerator.cxx
CMake/Source/cmGlobalFastbuildGenerator.cxx
code is :

static std::map<std::string, std::string> const compilerIdToFastbuildFamily = {
  { "MSVC", "msvc" }, { "Clang", "clang" },      { "AppleClang", "clang" },
  { "GNU", "gcc" },   { "NVIDIA", "cuda-nvcc" }, { "Clang-cl", "clang-cl" },
};

static std::set<std::string> const supportedLanguages = { "C", "CXX", "CUDA",
                                                          "OBJC", "OBJCXX" };

template <class T>
FastbuildAliasNode generateAlias(std::string const& name, char const* postfix,
                                 T const& nodes)
{
  FastbuildAliasNode alias;
  alias.Name = name + postfix;
  for (auto const& node : nodes) {
    alias.PreBuildDependencies.emplace(node.Name);
  }
  return alias;
}

void FastbuildTarget::GenerateAliases()
{
  // -deps
  this->DependenciesAlias.Name =
    this->Name + FASTBUILD_DEPS_ARTIFACTS_ALIAS_POSTFIX;
  for (auto const& dep : this->PreBuildDependencies) {
    if (dep.Type != FastbuildTargetDepType::ORDER_ONLY) {
      this->DependenciesAlias.PreBuildDependencies.emplace(dep);
    }
  }

  // PRE/POST/REST
  if (!this->PreBuildExecNodes.PreBuildDependencies.empty()) {
    this->PreBuildExecNodes.Name =
      this->Name + FASTBUILD_PRE_BUILD_ALIAS_POSTFIX;
  }
  if (!this->PreLinkExecNodes.Nodes.empty()) {
    this->PreLinkExecNodes.Alias =

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions