Skip to content

Commit 80d996a

Browse files
authored
Merge pull request #395 from bkryza/fix-relationship-hints-handling
Fix relationship hints handling
2 parents 1cc3cb2 + 31de875 commit 80d996a

29 files changed

+392
-227
lines changed

docs/test_cases.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@
9696
* [t00089](./test_cases/t00089.md) - Test case for '::' prefix in class diagrams for namespaces outside of using_namespace
9797
* [t00090](./test_cases/t00090.md) - Metaprogramming test case with recursive type list
9898
* [t00091](./test_cases/t00091.md) - Declaration forwarding test case
99+
* [t00092](./test_cases/t00092.md) - Test case for relationship_hints config option
99100
## Sequence diagrams
100101
* [t20001](./test_cases/t20001.md) - Basic sequence diagram test case
101102
* [t20002](./test_cases/t20002.md) - Free function sequence diagram test case

docs/test_cases/t00002.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -736,35 +736,35 @@ private:
736736
<data key="nd2"><![CDATA[A]]></data>
737737
<data key="nd3">abstract</data>
738738
<data key="nd6">false</data>
739-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00002/t00002.cc#L7</data>
739+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00002/t00002.cc#L7</data>
740740
<data key="nd5">This is class A</data>
741741
</node>
742742
<node id="n1">
743743
<data key="nd1">class</data>
744744
<data key="nd2"><![CDATA[B]]></data>
745745
<data key="nd6">false</data>
746-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00002/t00002.cc#L16</data>
746+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00002/t00002.cc#L16</data>
747747
<data key="nd5">This is class B</data>
748748
</node>
749749
<node id="n2">
750750
<data key="nd1">class</data>
751751
<data key="nd2"><![CDATA[C]]></data>
752752
<data key="nd6">false</data>
753-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00002/t00002.cc#L27</data>
753+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00002/t00002.cc#L27</data>
754754
<data key="nd5">This is class C - class C has a long comment</data>
755755
</node>
756756
<node id="n3">
757757
<data key="nd1">class</data>
758758
<data key="nd2"><![CDATA[D]]></data>
759759
<data key="nd6">false</data>
760-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00002/t00002.cc#L36</data>
760+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00002/t00002.cc#L36</data>
761761
<data key="nd5">D</data>
762762
</node>
763763
<node id="n4">
764764
<data key="nd1">class</data>
765765
<data key="nd2"><![CDATA[E]]></data>
766766
<data key="nd6">false</data>
767-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00002/t00002.cc#L61</data>
767+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00002/t00002.cc#L61</data>
768768
<data key="nd5">E</data>
769769
</node>
770770
<node id="n5">
@@ -801,7 +801,7 @@ private:
801801
<data key="ed1">public</data>
802802
</edge>
803803
<edge id="e5" source="n3" target="n0">
804-
<data key="ed3">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00002/t00002.cc#L58</data>
804+
<data key="ed3">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00002/t00002.cc#L58</data>
805805
<data key="ed0">association</data>
806806
<data key="ed2">as</data>
807807
<data key="ed1">private</data>
@@ -815,7 +815,7 @@ private:
815815
<data key="ed1">public</data>
816816
</edge>
817817
<edge id="e8" source="n4" target="n0">
818-
<data key="ed3">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00002/t00002.cc#L83</data>
818+
<data key="ed3">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00002/t00002.cc#L83</data>
819819
<data key="ed0">association</data>
820820
<data key="ed2">as</data>
821821
<data key="ed1">private</data>

docs/test_cases/t00002_class.svg

Lines changed: 27 additions & 27 deletions
Loading

docs/test_cases/t00002_class_mermaid.svg

Lines changed: 5 additions & 5 deletions
Loading

docs/test_cases/t00004.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -820,148 +820,148 @@ public:
820820
<node id="n0">
821821
<data key="nd1">enum</data>
822822
<data key="nd2"><![CDATA[Color]]></data>
823-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L4</data>
823+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L4</data>
824824
<data key="nd5">Color</data>
825825
</node>
826826
<node id="n1">
827827
<data key="nd1">class</data>
828828
<data key="nd2"><![CDATA[B]]></data>
829829
<data key="nd6">false</data>
830-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L6</data>
830+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L6</data>
831831
<data key="nd5">B</data>
832832
</node>
833833
<node id="n2">
834834
<data key="nd1">enum</data>
835835
<data key="nd2"><![CDATA[B::AA]]></data>
836-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L8</data>
836+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L8</data>
837837
<data key="nd5">B::AA</data>
838838
</node>
839839
<node id="n3">
840840
<data key="nd1">enum</data>
841841
<data key="nd2"><![CDATA[B::BB]]></data>
842-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L9</data>
842+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L9</data>
843843
<data key="nd5">B::BB</data>
844844
</node>
845845
<node id="n4">
846846
<data key="nd1">enum</data>
847847
<data key="nd2"><![CDATA[B::CC]]></data>
848-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L10</data>
848+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L10</data>
849849
<data key="nd5">B::CC</data>
850850
</node>
851851
<node id="n5">
852852
<data key="nd1">class</data>
853853
<data key="nd2"><![CDATA[A]]></data>
854854
<data key="nd6">false</data>
855-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L18</data>
855+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L18</data>
856856
<data key="nd5">A</data>
857857
</node>
858858
<node id="n6">
859859
<data key="nd1">class</data>
860860
<data key="nd2"><![CDATA[A::AA]]></data>
861861
<data key="nd6">false</data>
862-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L22</data>
862+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L22</data>
863863
<data key="nd5">A::AA</data>
864864
</node>
865865
<node id="n7">
866866
<data key="nd1">enum</data>
867867
<data key="nd2"><![CDATA[A::AA::Lights]]></data>
868-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L24</data>
868+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L24</data>
869869
<data key="nd5">A::AA::Lights</data>
870870
</node>
871871
<node id="n8">
872872
<data key="nd1">class</data>
873873
<data key="nd2"><![CDATA[A::AA::AAA]]></data>
874874
<data key="nd6">false</data>
875-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L26</data>
875+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L26</data>
876876
<data key="nd5">A::AA::AAA</data>
877877
</node>
878878
<node id="n9">
879879
<data key="nd1">class</data>
880880
<data key="nd2"><![CDATA[C::B<int>]]></data>
881881
<data key="nd6">true</data>
882-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L48</data>
882+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L48</data>
883883
<data key="nd5">C::B</data>
884884
</node>
885885
<node id="n10">
886886
<data key="nd1">class</data>
887887
<data key="nd2"><![CDATA[C<T>]]></data>
888888
<data key="nd6">true</data>
889-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L34</data>
889+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L34</data>
890890
<data key="nd5">C</data>
891891
</node>
892892
<node id="n11">
893893
<data key="nd1">class</data>
894894
<data key="nd2"><![CDATA[C::AA]]></data>
895895
<data key="nd6">false</data>
896-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L38</data>
896+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L38</data>
897897
<data key="nd5">C::AA</data>
898898
</node>
899899
<node id="n12">
900900
<data key="nd1">class</data>
901901
<data key="nd2"><![CDATA[C::AA::AAA]]></data>
902902
<data key="nd6">false</data>
903-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L39</data>
903+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L39</data>
904904
<data key="nd5">C::AA::AAA</data>
905905
</node>
906906
<node id="n13">
907907
<data key="nd1">enum</data>
908908
<data key="nd2"><![CDATA[C::AA::CCC]]></data>
909-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L41</data>
909+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L41</data>
910910
<data key="nd5">C::AA::CCC</data>
911911
</node>
912912
<node id="n14">
913913
<data key="nd1">class</data>
914914
<data key="nd2"><![CDATA[C::B<V>]]></data>
915915
<data key="nd6">true</data>
916-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L44</data>
916+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L44</data>
917917
<data key="nd5">C::B</data>
918918
</node>
919919
<node id="n15">
920920
<data key="nd1">enum</data>
921921
<data key="nd2"><![CDATA[C::CC]]></data>
922-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L50</data>
922+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L50</data>
923923
<data key="nd5">C::CC</data>
924924
</node>
925925
<node id="n16">
926926
<data key="nd1">class</data>
927927
<data key="nd2"><![CDATA[detail::D]]></data>
928928
<data key="nd6">false</data>
929-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L54</data>
929+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L54</data>
930930
<data key="nd5">D</data>
931931
</node>
932932
<node id="n17">
933933
<data key="nd1">enum</data>
934934
<data key="nd2"><![CDATA[detail::D::AA]]></data>
935-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L56</data>
935+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L56</data>
936936
<data key="nd5">D::AA</data>
937937
</node>
938938
<node id="n18">
939939
<data key="nd1">class</data>
940940
<data key="nd2"><![CDATA[detail::D::DD]]></data>
941941
<data key="nd6">false</data>
942-
<data key="nd4">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L58</data>
942+
<data key="nd4">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L58</data>
943943
<data key="nd5">D::DD</data>
944944
</node>
945945
<edge id="e0" source="n1" target="n2">
946-
<data key="ed3">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L12</data>
946+
<data key="ed3">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L12</data>
947947
<data key="ed0">aggregation</data>
948948
<data key="ed2">aa</data>
949949
<data key="ed1">public</data>
950950
</edge>
951951
<edge id="e1" source="n1" target="n3">
952-
<data key="ed3">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L13</data>
952+
<data key="ed3">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L13</data>
953953
<data key="ed0">aggregation</data>
954954
<data key="ed2">bb</data>
955955
<data key="ed1">public</data>
956956
</edge>
957957
<edge id="e2" source="n1" target="n4">
958-
<data key="ed3">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L14</data>
958+
<data key="ed3">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L14</data>
959959
<data key="ed0">aggregation</data>
960960
<data key="ed2">cc</data>
961961
<data key="ed1">public</data>
962962
</edge>
963963
<edge id="e3" source="n1" target="n0">
964-
<data key="ed3">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L15</data>
964+
<data key="ed3">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L15</data>
965965
<data key="ed0">association</data>
966966
<data key="ed2">color</data>
967967
<data key="ed1">public</data>
@@ -975,7 +975,7 @@ public:
975975
<data key="ed1">public</data>
976976
</edge>
977977
<edge id="e6" source="n8" target="n7">
978-
<data key="ed3">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L27</data>
978+
<data key="ed3">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L27</data>
979979
<data key="ed0">aggregation</data>
980980
<data key="ed2">lights</data>
981981
<data key="ed1">private</data>
@@ -985,7 +985,7 @@ public:
985985
<data key="ed1">public</data>
986986
</edge>
987987
<edge id="e8" source="n10" target="n9">
988-
<data key="ed3">https://github.com/bkryza/clang-uml/blob/2d1cd9fd8701d055ebe38f007cb01bbea0869cea/tests/t00004/t00004.cc#L48</data>
988+
<data key="ed3">https://github.com/bkryza/clang-uml/blob/3938b2ee66bd0616942008a46264579c64c5bf2b/tests/t00004/t00004.cc#L48</data>
989989
<data key="ed0">aggregation</data>
990990
<data key="ed2">b_int</data>
991991
<data key="ed1">public</data>

0 commit comments

Comments
 (0)