Files
clang-uml/docs/test_cases/t30006.md
2023-06-12 00:55:11 +02:00

2.6 KiB

t30006 - Package split namespace test case

Config

compilation_database_dir: ..
output_directory: puml
diagrams:
  t30006_package:
    type: package
    glob:
      - ../../tests/t30006/t30006.cc
    include:
      namespaces:
        - clanguml::t30006
    using_namespace:
      - clanguml::t30006
    plantuml:
      before:
        - "' t30006 test package diagram"

Source code

File t30006.cc

namespace clanguml {
namespace t30006 {

namespace B {
struct BB { };
}

/// \uml{note[top] Top A note.}
namespace A {
struct A1 {
    B::BB *b;
};
}

namespace C {
struct CC { };
}

/// \uml{note[bottom] Bottom A note.}
namespace A {
struct A2 {
    C::CC *c;
};
}

}
}

Generated UML diagrams

t30006_package

Generated JSON models

{
  "diagram_type": "package",
  "elements": [
    {
      "display_name": "clanguml::t30006::B",
      "id": "1659090172211944144",
      "is_deprecated": false,
      "name": "B",
      "source_location": {
        "column": 11,
        "file": "../../tests/t30006/t30006.cc",
        "line": 4,
        "translation_unit": "../../tests/t30006/t30006.cc"
      },
      "type": "namespace"
    },
    {
      "comment": {
        "formatted": "\\uml{note[top] Top A note.}",
        "raw": "/// \\uml{note[top] Top A note.}"
      },
      "display_name": "clanguml::t30006::A",
      "id": "1499919423527579699",
      "is_deprecated": false,
      "name": "A",
      "source_location": {
        "column": 11,
        "file": "../../tests/t30006/t30006.cc",
        "line": 9,
        "translation_unit": "../../tests/t30006/t30006.cc"
      },
      "type": "namespace"
    },
    {
      "display_name": "clanguml::t30006::C",
      "id": "1380567463986115369",
      "is_deprecated": false,
      "name": "C",
      "source_location": {
        "column": 11,
        "file": "../../tests/t30006/t30006.cc",
        "line": 15,
        "translation_unit": "../../tests/t30006/t30006.cc"
      },
      "type": "namespace"
    }
  ],
  "metadata": {
    "clang_uml_version": "0.3.7-4-g43cc5cb",
    "llvm_version": "Ubuntu clang version 16.0.1 (++20230328073357+42d1b276f779-1~exp1~20230328073502.65)",
    "schema_version": 1
  },
  "name": "t30006_package",
  "relationships": [
    {
      "destination": "1659090172211944144",
      "source": "1499919423527579699",
      "type": "dependency"
    },
    {
      "destination": "1380567463986115369",
      "source": "1499919423527579699",
      "type": "dependency"
    }
  ],
  "using_namespace": "clanguml::t30006"
}