diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2014-07-13 18:47:54 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2014-07-13 18:47:54 (GMT) |
commit | ec7789738e9d42f75b295a4673930e30da3c48a9 (patch) | |
tree | 54c0a51795600e3b0d095a9dc58b3b12af1699ab /testing | |
parent | d234115b6f387ff723cb97a4d47b2bcca7f0bc6d (diff) | |
parent | a4ef6aaa7b044d4ad6f5a41485023c3f0913f184 (diff) | |
download | Doxygen-ec7789738e9d42f75b295a4673930e30da3c48a9.zip Doxygen-ec7789738e9d42f75b295a4673930e30da3c48a9.tar.gz Doxygen-ec7789738e9d42f75b295a4673930e30da3c48a9.tar.bz2 |
Merge branch 'master' of github.com:doxygen/doxygen
Diffstat (limited to 'testing')
30 files changed, 1452 insertions, 54 deletions
diff --git a/testing/057/057__caller__graphs_8tcl.xml b/testing/057/057__caller__graphs_8tcl.xml index d2e3d84..4c54e1c 100644 --- a/testing/057/057__caller__graphs_8tcl.xml +++ b/testing/057/057__caller__graphs_8tcl.xml @@ -24,7 +24,7 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="57" bodyend="59"/> + <location file="057_caller_graphs.tcl" bodystart="59" bodyend="61"/> </memberdef> <memberdef kind="function" id="057__caller__graphs_8tcl_1ae4e1c2bb3adfdfbb71f52de84a8285b0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type/> @@ -37,8 +37,8 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="63" bodyend="65"/> - <referencedby refid="namespace1_1a9722420639306872cea2593b83028a45" compoundref="057__caller__graphs_8tcl" startline="83" endline="86">1::test3</referencedby> + <location file="057_caller_graphs.tcl" bodystart="65" bodyend="67"/> + <referencedby refid="namespace1_1a9722420639306872cea2593b83028a45" compoundref="057__caller__graphs_8tcl" startline="85" endline="88">1::test3</referencedby> </memberdef> <memberdef kind="function" id="057__caller__graphs_8tcl_1a3f808a00e1b937978455d707851ab33a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type/> @@ -51,8 +51,36 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="100" bodyend="103"/> - <references refid="namespace2_1a2839d9dea7f0d08f48958c3fc0cd00d3" compoundref="057__caller__graphs_8tcl" startline="104" endline="112">2::next</references> + <location file="057_caller_graphs.tcl" bodystart="102" bodyend="105"/> + <references refid="namespace2_1a2839d9dea7f0d08f48958c3fc0cd00d3" compoundref="057__caller__graphs_8tcl" startline="106" endline="114">2::next</references> + </memberdef> + <memberdef kind="function" id="057__caller__graphs_8tcl_1a12acb916374f925e7b7ba302a1ca4efb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>master</definition> + <argsstring>args</argsstring> + <name>master</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="057_caller_graphs.tcl" bodystart="136" bodyend="140"/> + <references refid="__057__caller__graphs_8tcl_1a7c3c8acee94bf61ba9e911dafe35adac" compoundref="__057__caller__graphs_8tcl" startline="1" endline="4">inFileB</references> + </memberdef> + <memberdef kind="function" id="057__caller__graphs_8tcl_1a7482c00c17357cf4846b0c1bd715979c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>inFileA</definition> + <argsstring>args</argsstring> + <name>inFileA</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="057_caller_graphs.tcl" bodystart="141" bodyend="144"/> + <referencedby refid="__057__caller__graphs_8tcl_1a7c3c8acee94bf61ba9e911dafe35adac" compoundref="__057__caller__graphs_8tcl" startline="1" endline="4">inFileB</referencedby> </memberdef> </sectiondef> <briefdescription> diff --git a/testing/057/__057__caller__graphs_8tcl.xml b/testing/057/__057__caller__graphs_8tcl.xml new file mode 100644 index 0000000..2fdcf6a --- /dev/null +++ b/testing/057/__057__caller__graphs_8tcl.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> + <compounddef id="__057__caller__graphs_8tcl" kind="file"> + <compoundname>_057_caller_graphs.tcl</compoundname> + <sectiondef kind="func"> + <memberdef kind="function" id="__057__caller__graphs_8tcl_1a7c3c8acee94bf61ba9e911dafe35adac" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>inFileB</definition> + <argsstring>args</argsstring> + <name>inFileB</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="_057_caller_graphs.tcl" bodystart="1" bodyend="4"/> + <references refid="057__caller__graphs_8tcl_1a7482c00c17357cf4846b0c1bd715979c" compoundref="057__caller__graphs_8tcl" startline="141" endline="144">inFileA</references> + <referencedby refid="057__caller__graphs_8tcl_1a12acb916374f925e7b7ba302a1ca4efb" compoundref="057__caller__graphs_8tcl" startline="136" endline="140">master</referencedby> + </memberdef> + </sectiondef> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <location file="_057_caller_graphs.tcl"/> + </compounddef> +</doxygen> diff --git a/testing/057/namespace1.xml b/testing/057/namespace1.xml index e40300d..e74d8fe 100644 --- a/testing/057/namespace1.xml +++ b/testing/057/namespace1.xml @@ -15,9 +15,9 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="60" bodyend="62"/> - <referencedby refid="namespace1_1a4a8285288ee1994ac886e2039777339e" compoundref="057__caller__graphs_8tcl" startline="75" endline="78">test1</referencedby> - <referencedby refid="namespace1_1a11615154d3c207ed4106dd0bcb0639e8" compoundref="057__caller__graphs_8tcl" startline="91" endline="94">test5</referencedby> + <location file="057_caller_graphs.tcl" bodystart="62" bodyend="64"/> + <referencedby refid="namespace1_1a4a8285288ee1994ac886e2039777339e" compoundref="057__caller__graphs_8tcl" startline="77" endline="80">test1</referencedby> + <referencedby refid="namespace1_1a11615154d3c207ed4106dd0bcb0639e8" compoundref="057__caller__graphs_8tcl" startline="93" endline="96">test5</referencedby> </memberdef> <memberdef kind="function" id="namespace1_1ad58c8f16ad5f12178c71ca988865bb58" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type/> @@ -30,8 +30,8 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="66" bodyend="68"/> - <referencedby refid="namespace1_1ae1e88bb7ddd332348d7e29ac4a211b00" compoundref="057__caller__graphs_8tcl" startline="79" endline="82">test2</referencedby> + <location file="057_caller_graphs.tcl" bodystart="68" bodyend="70"/> + <referencedby refid="namespace1_1ae1e88bb7ddd332348d7e29ac4a211b00" compoundref="057__caller__graphs_8tcl" startline="81" endline="84">test2</referencedby> </memberdef> <memberdef kind="function" id="namespace1_1a4a8285288ee1994ac886e2039777339e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type/> @@ -44,8 +44,8 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="75" bodyend="78"/> - <references refid="namespace1_1a5024a7bc323958c7230615f2fcaeaef8" compoundref="057__caller__graphs_8tcl" startline="60" endline="62">baz</references> + <location file="057_caller_graphs.tcl" bodystart="77" bodyend="80"/> + <references refid="namespace1_1a5024a7bc323958c7230615f2fcaeaef8" compoundref="057__caller__graphs_8tcl" startline="62" endline="64">baz</references> </memberdef> <memberdef kind="function" id="namespace1_1ae1e88bb7ddd332348d7e29ac4a211b00" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type/> @@ -58,8 +58,8 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="79" bodyend="82"/> - <references refid="namespace1_1ad58c8f16ad5f12178c71ca988865bb58" compoundref="057__caller__graphs_8tcl" startline="66" endline="68">bar</references> + <location file="057_caller_graphs.tcl" bodystart="81" bodyend="84"/> + <references refid="namespace1_1ad58c8f16ad5f12178c71ca988865bb58" compoundref="057__caller__graphs_8tcl" startline="68" endline="70">bar</references> </memberdef> <memberdef kind="function" id="namespace1_1a9722420639306872cea2593b83028a45" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type/> @@ -72,8 +72,8 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="83" bodyend="86"/> - <references refid="057__caller__graphs_8tcl_1ae4e1c2bb3adfdfbb71f52de84a8285b0" compoundref="057__caller__graphs_8tcl" startline="63" endline="65">bar</references> + <location file="057_caller_graphs.tcl" bodystart="85" bodyend="88"/> + <references refid="057__caller__graphs_8tcl_1ae4e1c2bb3adfdfbb71f52de84a8285b0" compoundref="057__caller__graphs_8tcl" startline="65" endline="67">bar</references> </memberdef> <memberdef kind="function" id="namespace1_1addc9b30656419de5e2651e27a013db29" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type/> @@ -86,8 +86,8 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="87" bodyend="90"/> - <references refid="namespace1_1_11_1acebecc4cb718010d00c3c150158b75ab" compoundref="057__caller__graphs_8tcl" startline="69" endline="71">1::1::bar</references> + <location file="057_caller_graphs.tcl" bodystart="89" bodyend="92"/> + <references refid="namespace1_1_11_1acebecc4cb718010d00c3c150158b75ab" compoundref="057__caller__graphs_8tcl" startline="71" endline="73">1::1::bar</references> </memberdef> <memberdef kind="function" id="namespace1_1a11615154d3c207ed4106dd0bcb0639e8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type/> @@ -100,8 +100,8 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="91" bodyend="94"/> - <references refid="namespace1_1a5024a7bc323958c7230615f2fcaeaef8" compoundref="057__caller__graphs_8tcl" startline="60" endline="62">baz</references> + <location file="057_caller_graphs.tcl" bodystart="93" bodyend="96"/> + <references refid="namespace1_1a5024a7bc323958c7230615f2fcaeaef8" compoundref="057__caller__graphs_8tcl" startline="62" endline="64">baz</references> </memberdef> </sectiondef> <briefdescription> diff --git a/testing/057/namespace1_1_11.xml b/testing/057/namespace1_1_11.xml index 157ab5e..e5c5596 100644 --- a/testing/057/namespace1_1_11.xml +++ b/testing/057/namespace1_1_11.xml @@ -15,8 +15,8 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="69" bodyend="71"/> - <referencedby refid="namespace1_1addc9b30656419de5e2651e27a013db29" compoundref="057__caller__graphs_8tcl" startline="87" endline="90">1::test4</referencedby> + <location file="057_caller_graphs.tcl" bodystart="71" bodyend="73"/> + <referencedby refid="namespace1_1addc9b30656419de5e2651e27a013db29" compoundref="057__caller__graphs_8tcl" startline="89" endline="92">1::test4</referencedby> </memberdef> </sectiondef> <briefdescription> diff --git a/testing/057/namespace1_1_11_1_11.xml b/testing/057/namespace1_1_11_1_11.xml index 2f5a685..caccbe4 100644 --- a/testing/057/namespace1_1_11_1_11.xml +++ b/testing/057/namespace1_1_11_1_11.xml @@ -14,13 +14,13 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="72" bodyend="74"/> + <location file="057_caller_graphs.tcl" bodystart="74" bodyend="76"/> </memberdef> </sectiondef> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> - <location file="057_caller_graphs.tcl" line="56" column="1"/> + <location file="057_caller_graphs.tcl" line="58" column="1"/> </compounddef> </doxygen> diff --git a/testing/057/namespace2.xml b/testing/057/namespace2.xml index 47a9fcf..6ea122c 100644 --- a/testing/057/namespace2.xml +++ b/testing/057/namespace2.xml @@ -15,10 +15,10 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="104" bodyend="112"/> - <references refid="namespace2_1_12_1aceefa876cf364f44da1f523d3f7b0649" compoundref="057__caller__graphs_8tcl" startline="113" endline="116">2::2::next</references> - <referencedby refid="057__caller__graphs_8tcl_1a3f808a00e1b937978455d707851ab33a" compoundref="057__caller__graphs_8tcl" startline="100" endline="103">next</referencedby> - <referencedby refid="namespace2_1_12_1_12_1_12_1_12_1ac07f64c62783fd8b44317389b4a711f8" compoundref="057__caller__graphs_8tcl" startline="125" endline="128">2::2::2::2::2::next</referencedby> + <location file="057_caller_graphs.tcl" bodystart="106" bodyend="114"/> + <references refid="namespace2_1_12_1aceefa876cf364f44da1f523d3f7b0649" compoundref="057__caller__graphs_8tcl" startline="115" endline="118">2::2::next</references> + <referencedby refid="057__caller__graphs_8tcl_1a3f808a00e1b937978455d707851ab33a" compoundref="057__caller__graphs_8tcl" startline="102" endline="105">next</referencedby> + <referencedby refid="namespace2_1_12_1_12_1_12_1_12_1ac07f64c62783fd8b44317389b4a711f8" compoundref="057__caller__graphs_8tcl" startline="127" endline="130">2::2::2::2::2::next</referencedby> </memberdef> </sectiondef> <briefdescription> diff --git a/testing/057/namespace2_1_12.xml b/testing/057/namespace2_1_12.xml index 3338473..d2a589a 100644 --- a/testing/057/namespace2_1_12.xml +++ b/testing/057/namespace2_1_12.xml @@ -15,9 +15,9 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="113" bodyend="116"/> - <references refid="namespace2_1_12_1_12_1a85524e2015e377d433cd8384335c11d6" compoundref="057__caller__graphs_8tcl" startline="117" endline="120">2::2::2::next</references> - <referencedby refid="namespace2_1a2839d9dea7f0d08f48958c3fc0cd00d3" compoundref="057__caller__graphs_8tcl" startline="104" endline="112">2::next</referencedby> + <location file="057_caller_graphs.tcl" bodystart="115" bodyend="118"/> + <references refid="namespace2_1_12_1_12_1a85524e2015e377d433cd8384335c11d6" compoundref="057__caller__graphs_8tcl" startline="119" endline="122">2::2::2::next</references> + <referencedby refid="namespace2_1a2839d9dea7f0d08f48958c3fc0cd00d3" compoundref="057__caller__graphs_8tcl" startline="106" endline="114">2::next</referencedby> </memberdef> </sectiondef> <briefdescription> diff --git a/testing/057/namespace2_1_12_1_12.xml b/testing/057/namespace2_1_12_1_12.xml index 259ef25..d04a73c 100644 --- a/testing/057/namespace2_1_12_1_12.xml +++ b/testing/057/namespace2_1_12_1_12.xml @@ -15,9 +15,9 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="117" bodyend="120"/> - <references refid="namespace2_1_12_1_12_1_12_1a3ea6e2ce66f4a9c30009852e4c7da2fe" compoundref="057__caller__graphs_8tcl" startline="121" endline="124">2::2::2::2::next</references> - <referencedby refid="namespace2_1_12_1aceefa876cf364f44da1f523d3f7b0649" compoundref="057__caller__graphs_8tcl" startline="113" endline="116">2::2::next</referencedby> + <location file="057_caller_graphs.tcl" bodystart="119" bodyend="122"/> + <references refid="namespace2_1_12_1_12_1_12_1a3ea6e2ce66f4a9c30009852e4c7da2fe" compoundref="057__caller__graphs_8tcl" startline="123" endline="126">2::2::2::2::next</references> + <referencedby refid="namespace2_1_12_1aceefa876cf364f44da1f523d3f7b0649" compoundref="057__caller__graphs_8tcl" startline="115" endline="118">2::2::next</referencedby> </memberdef> </sectiondef> <briefdescription> diff --git a/testing/057/namespace2_1_12_1_12_1_12.xml b/testing/057/namespace2_1_12_1_12_1_12.xml index cea3062..980906d 100644 --- a/testing/057/namespace2_1_12_1_12_1_12.xml +++ b/testing/057/namespace2_1_12_1_12_1_12.xml @@ -15,9 +15,9 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="121" bodyend="124"/> - <references refid="namespace2_1_12_1_12_1_12_1_12_1ac07f64c62783fd8b44317389b4a711f8" compoundref="057__caller__graphs_8tcl" startline="125" endline="128">2::2::2::2::2::next</references> - <referencedby refid="namespace2_1_12_1_12_1a85524e2015e377d433cd8384335c11d6" compoundref="057__caller__graphs_8tcl" startline="117" endline="120">2::2::2::next</referencedby> + <location file="057_caller_graphs.tcl" bodystart="123" bodyend="126"/> + <references refid="namespace2_1_12_1_12_1_12_1_12_1ac07f64c62783fd8b44317389b4a711f8" compoundref="057__caller__graphs_8tcl" startline="127" endline="130">2::2::2::2::2::next</references> + <referencedby refid="namespace2_1_12_1_12_1a85524e2015e377d433cd8384335c11d6" compoundref="057__caller__graphs_8tcl" startline="119" endline="122">2::2::2::next</referencedby> </memberdef> </sectiondef> <briefdescription> diff --git a/testing/057/namespace2_1_12_1_12_1_12_1_12.xml b/testing/057/namespace2_1_12_1_12_1_12_1_12.xml index 65bfa00..0c6957b 100644 --- a/testing/057/namespace2_1_12_1_12_1_12_1_12.xml +++ b/testing/057/namespace2_1_12_1_12_1_12_1_12.xml @@ -14,15 +14,15 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="125" bodyend="128"/> - <references refid="namespace2_1a2839d9dea7f0d08f48958c3fc0cd00d3" compoundref="057__caller__graphs_8tcl" startline="104" endline="112">2::next</references> - <referencedby refid="namespace2_1_12_1_12_1_12_1a3ea6e2ce66f4a9c30009852e4c7da2fe" compoundref="057__caller__graphs_8tcl" startline="121" endline="124">2::2::2::2::next</referencedby> + <location file="057_caller_graphs.tcl" bodystart="127" bodyend="130"/> + <references refid="namespace2_1a2839d9dea7f0d08f48958c3fc0cd00d3" compoundref="057__caller__graphs_8tcl" startline="106" endline="114">2::next</references> + <referencedby refid="namespace2_1_12_1_12_1_12_1a3ea6e2ce66f4a9c30009852e4c7da2fe" compoundref="057__caller__graphs_8tcl" startline="123" endline="126">2::2::2::2::next</referencedby> </memberdef> </sectiondef> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> - <location file="057_caller_graphs.tcl" line="99" column="1"/> + <location file="057_caller_graphs.tcl" line="101" column="1"/> </compounddef> </doxygen> diff --git a/testing/057/namespacebar.xml b/testing/057/namespacebar.xml index 642986b..3c0f6e9 100644 --- a/testing/057/namespacebar.xml +++ b/testing/057/namespacebar.xml @@ -14,9 +14,9 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="27" bodyend="33"/> - <references refid="namespacebar_1a3426cd3a2eebcffa0dc333bcf5e2fe5e" compoundref="057__caller__graphs_8tcl" startline="34" endline="37">baz</references> - <referencedby refid="namespacefoo_1a265acdcaea6da32c3bbd9afb5d0e32a4" compoundref="057__caller__graphs_8tcl" startline="42" endline="46">foo::master</referencedby> + <location file="057_caller_graphs.tcl" bodystart="29" bodyend="35"/> + <references refid="namespacebar_1a3426cd3a2eebcffa0dc333bcf5e2fe5e" compoundref="057__caller__graphs_8tcl" startline="36" endline="39">baz</references> + <referencedby refid="namespacefoo_1a265acdcaea6da32c3bbd9afb5d0e32a4" compoundref="057__caller__graphs_8tcl" startline="44" endline="48">foo::master</referencedby> </memberdef> <memberdef kind="function" id="namespacebar_1a3426cd3a2eebcffa0dc333bcf5e2fe5e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type/> @@ -29,9 +29,9 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="34" bodyend="37"/> - <references refid="namespacebar_1a88879545dee287d377e638b87cdf6dd7" compoundref="057__caller__graphs_8tcl" startline="38" endline="40">bazbaz</references> - <referencedby refid="namespacebar_1aa1678a9adb588c0b91b118de7cc38ddb" compoundref="057__caller__graphs_8tcl" startline="27" endline="33">slave</referencedby> + <location file="057_caller_graphs.tcl" bodystart="36" bodyend="39"/> + <references refid="namespacebar_1a88879545dee287d377e638b87cdf6dd7" compoundref="057__caller__graphs_8tcl" startline="40" endline="42">bazbaz</references> + <referencedby refid="namespacebar_1aa1678a9adb588c0b91b118de7cc38ddb" compoundref="057__caller__graphs_8tcl" startline="29" endline="35">slave</referencedby> </memberdef> <memberdef kind="function" id="namespacebar_1a88879545dee287d377e638b87cdf6dd7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type/> @@ -44,14 +44,14 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="38" bodyend="40"/> - <referencedby refid="namespacebar_1a3426cd3a2eebcffa0dc333bcf5e2fe5e" compoundref="057__caller__graphs_8tcl" startline="34" endline="37">baz</referencedby> + <location file="057_caller_graphs.tcl" bodystart="40" bodyend="42"/> + <referencedby refid="namespacebar_1a3426cd3a2eebcffa0dc333bcf5e2fe5e" compoundref="057__caller__graphs_8tcl" startline="36" endline="39">baz</referencedby> </memberdef> </sectiondef> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> - <location file="057_caller_graphs.tcl" line="26" column="1"/> + <location file="057_caller_graphs.tcl" line="28" column="1"/> </compounddef> </doxygen> diff --git a/testing/057/namespacefoo.xml b/testing/057/namespacefoo.xml index 11f8053..2aae8ea 100644 --- a/testing/057/namespacefoo.xml +++ b/testing/057/namespacefoo.xml @@ -14,14 +14,14 @@ </detaileddescription> <inbodydescription> </inbodydescription> - <location file="057_caller_graphs.tcl" bodystart="42" bodyend="46"/> - <references refid="namespacebar_1aa1678a9adb588c0b91b118de7cc38ddb" compoundref="057__caller__graphs_8tcl" startline="27" endline="33">bar::slave</references> + <location file="057_caller_graphs.tcl" bodystart="44" bodyend="48"/> + <references refid="namespacebar_1aa1678a9adb588c0b91b118de7cc38ddb" compoundref="057__caller__graphs_8tcl" startline="29" endline="35">bar::slave</references> </memberdef> </sectiondef> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> - <location file="057_caller_graphs.tcl" line="41" column="1"/> + <location file="057_caller_graphs.tcl" line="43" column="1"/> </compounddef> </doxygen> diff --git a/testing/057_caller_graphs.tcl b/testing/057_caller_graphs.tcl index 25bf1e7..f6e0e77 100644 --- a/testing/057_caller_graphs.tcl +++ b/testing/057_caller_graphs.tcl @@ -1,5 +1,6 @@ #// objective: test for completeness and correctness of references/referencedby relations #// check: 057__caller__graphs_8tcl.xml +#// check: __057__caller__graphs_8tcl.xml #// check: namespacebar.xml #// check: namespacefoo.xml #// check: namespace1.xml @@ -14,6 +15,7 @@ #// config: INLINE_SOURCES = no #// config: REFERENCED_BY_RELATION = yes #// config: REFERENCES_RELATION = yes +#// config: INPUT = 057_caller_graphs.tcl _057_caller_graphs.tcl # config: HAVE_DOT = yes # config: CALLER_GRAPH = yes # config: CALL_GRAPH = yes @@ -126,6 +128,20 @@ proc ::2::2::2::2::2::next args { array set info [info frame 0]; puts $info(proc) 2::next } +# +# cross check with two files +# If doxygen did not do two passes, then xrefs would depend on file order +# and would be incomplete. +source _057_caller_graphs.tcl +proc master args { + array set info [info frame 0]; puts -nonewline ->$info(proc) + inFileB + return +} +proc inFileA args { + array set info [info frame 0]; puts -nonewline ->$info(proc) + return +} # now, check with tcl what is called foo::master puts "" @@ -134,5 +150,6 @@ foreach proc [lsort [info procs ::1::test?]] { puts "" } ::next +master exit diff --git a/testing/058/058__bracket__recursion_8tcl.xml b/testing/058/058__bracket__recursion_8tcl.xml index da0168d..fd36cee 100644 --- a/testing/058/058__bracket__recursion_8tcl.xml +++ b/testing/058/058__bracket__recursion_8tcl.xml @@ -36,6 +36,8 @@ <referencedby refid="058__bracket__recursion_8tcl_1a0a0bd3dc69dd06934c4e6362155e0ace" compoundref="058__bracket__recursion_8tcl" startline="115" endline="120">r</referencedby> <referencedby refid="058__bracket__recursion_8tcl_1a011c73f2dbb87635a3b4206c72355f6e" compoundref="058__bracket__recursion_8tcl" startline="121" endline="126">s</referencedby> <referencedby refid="058__bracket__recursion_8tcl_1a69e959f6901827e4d8271aeaa5fba0fc" compoundref="058__bracket__recursion_8tcl" startline="128" endline="131">t</referencedby> + <referencedby refid="058__bracket__recursion_8tcl_1a2fb1c5cf58867b5bbc9a1b145a86f3a0" compoundref="058__bracket__recursion_8tcl" startline="137" endline="142">y</referencedby> + <referencedby refid="058__bracket__recursion_8tcl_1a25ed1bcb423b0b7200f485fc5ff71c8e" compoundref="058__bracket__recursion_8tcl" startline="143" endline="148">z</referencedby> </memberdef> <memberdef kind="function" id="058__bracket__recursion_8tcl_1a3f55465410c57ed00ab28827a741b1c3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type/> @@ -344,6 +346,34 @@ <location file="058_bracket_recursion.tcl" bodystart="128" bodyend="131"/> <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references> </memberdef> + <memberdef kind="function" id="058__bracket__recursion_8tcl_1a2fb1c5cf58867b5bbc9a1b145a86f3a0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>y</definition> + <argsstring/> + <name>y</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="058_bracket_recursion.tcl" bodystart="137" bodyend="142"/> + <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="058__bracket__recursion_8tcl_1a25ed1bcb423b0b7200f485fc5ff71c8e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>z</definition> + <argsstring/> + <name>z</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="058_bracket_recursion.tcl" bodystart="143" bodyend="148"/> + <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> </sectiondef> <briefdescription> </briefdescription> diff --git a/testing/058_bracket_recursion.tcl b/testing/058_bracket_recursion.tcl index 0a07087..2ecd673 100644 --- a/testing/058_bracket_recursion.tcl +++ b/testing/058_bracket_recursion.tcl @@ -129,7 +129,23 @@ proc t args { set foo ]]]][Invoked] return } - +# Example according to +# https://bugzilla.gnome.org/show_bug.cgi?id=729135 +# | +# Note the subtle difference in this | whitespace +# V +proc y {} { + set classifier_state {{bphy} } + if { ($classifier_state == {{bphy} }) } { + Invoked + } +} +proc z {} { + set classifier_state {{bphy} } + if { ($classifier_state == {{bphy} } ) } { + Invoked + } +} # # call all single letter procs # let tcl check what is called and what is not called diff --git a/testing/059/059__command__catch_8tcl.xml b/testing/059/059__command__catch_8tcl.xml new file mode 100644 index 0000000..6604413 --- /dev/null +++ b/testing/059/059__command__catch_8tcl.xml @@ -0,0 +1,191 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> + <compounddef id="059__command__catch_8tcl" kind="file"> + <compoundname>059_command_catch.tcl</compoundname> + <sectiondef kind="func"> + <memberdef kind="function" id="059__command__catch_8tcl_1aa889853547f65a22ae133cd57ff89601" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>Invoked</definition> + <argsstring>args</argsstring> + <name>Invoked</name> + <briefdescription> + <para>should be reference by every proc below </para> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="059_command_catch.tcl" bodystart="10" bodyend="13"/> + <referencedby refid="059__command__catch_8tcl_1ab08ae027fc5777bc4f0629f1b60b35db" compoundref="059__command__catch_8tcl" startline="22" endline="25">a</referencedby> + <referencedby refid="059__command__catch_8tcl_1a68bdb74c144118d936931c46f75d4b3e" compoundref="059__command__catch_8tcl" startline="29" endline="32">b</referencedby> + <referencedby refid="059__command__catch_8tcl_1ab14f56bc3bd7680490ece4ad7815465f" compoundref="059__command__catch_8tcl" startline="33" endline="36">c</referencedby> + <referencedby refid="059__command__catch_8tcl_1af43f4b1f0064a33b2d662af9f06d3a00" compoundref="059__command__catch_8tcl" startline="37" endline="40">d</referencedby> + <referencedby refid="059__command__catch_8tcl_1aff65a51a703804e0ad1adbcfd76c86f8" compoundref="059__command__catch_8tcl" startline="41" endline="44">e</referencedby> + <referencedby refid="059__command__catch_8tcl_1af6830d2c644b45088ea8f1f74a46b778" compoundref="059__command__catch_8tcl" startline="45" endline="48">f</referencedby> + <referencedby refid="059__command__catch_8tcl_1af08b4b5bfa9edf0b0a7dee1c2b2c29e0" compoundref="059__command__catch_8tcl" startline="49" endline="54">g</referencedby> + <referencedby refid="059__command__catch_8tcl_1af96fd0966e32a310a0778d2e5c357700" compoundref="059__command__catch_8tcl" startline="56" endline="59">h</referencedby> + <referencedby refid="059__command__catch_8tcl_1a8c90afd4641b25be86bd09983c3cbee0" compoundref="059__command__catch_8tcl" startline="60" endline="63">i</referencedby> + <referencedby refid="059__command__catch_8tcl_1a2aaa92757686acea102cba3475f0c13b" compoundref="059__command__catch_8tcl" startline="75" endline="78">j</referencedby> + </memberdef> + <memberdef kind="function" id="059__command__catch_8tcl_1a3f55465410c57ed00ab28827a741b1c3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>NotInvoked</definition> + <argsstring>args</argsstring> + <name>NotInvoked</name> + <briefdescription> + <para>must not be reference by every proc below </para> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="059_command_catch.tcl" bodystart="16" bodyend="19"/> + </memberdef> + <memberdef kind="function" id="059__command__catch_8tcl_1ab08ae027fc5777bc4f0629f1b60b35db" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>a</definition> + <argsstring>args</argsstring> + <name>a</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="059_command_catch.tcl" bodystart="22" bodyend="25"/> + <references refid="059__command__catch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="059__command__catch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="059__command__catch_8tcl_1a68bdb74c144118d936931c46f75d4b3e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>b</definition> + <argsstring>args</argsstring> + <name>b</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="059_command_catch.tcl" bodystart="29" bodyend="32"/> + <references refid="059__command__catch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="059__command__catch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="059__command__catch_8tcl_1ab14f56bc3bd7680490ece4ad7815465f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>c</definition> + <argsstring>args</argsstring> + <name>c</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="059_command_catch.tcl" bodystart="33" bodyend="36"/> + <references refid="059__command__catch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="059__command__catch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="059__command__catch_8tcl_1af43f4b1f0064a33b2d662af9f06d3a00" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>d</definition> + <argsstring>args</argsstring> + <name>d</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="059_command_catch.tcl" bodystart="37" bodyend="40"/> + <references refid="059__command__catch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="059__command__catch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="059__command__catch_8tcl_1aff65a51a703804e0ad1adbcfd76c86f8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>e</definition> + <argsstring>args</argsstring> + <name>e</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="059_command_catch.tcl" bodystart="41" bodyend="44"/> + <references refid="059__command__catch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="059__command__catch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="059__command__catch_8tcl_1af6830d2c644b45088ea8f1f74a46b778" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>f</definition> + <argsstring>args</argsstring> + <name>f</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="059_command_catch.tcl" bodystart="45" bodyend="48"/> + <references refid="059__command__catch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="059__command__catch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="059__command__catch_8tcl_1af08b4b5bfa9edf0b0a7dee1c2b2c29e0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>g</definition> + <argsstring>args</argsstring> + <name>g</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="059_command_catch.tcl" bodystart="49" bodyend="54"/> + <references refid="059__command__catch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="059__command__catch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="059__command__catch_8tcl_1af96fd0966e32a310a0778d2e5c357700" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>h</definition> + <argsstring>args</argsstring> + <name>h</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="059_command_catch.tcl" bodystart="56" bodyend="59"/> + <references refid="059__command__catch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="059__command__catch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="059__command__catch_8tcl_1a8c90afd4641b25be86bd09983c3cbee0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>i</definition> + <argsstring>args</argsstring> + <name>i</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="059_command_catch.tcl" bodystart="60" bodyend="63"/> + <references refid="059__command__catch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="059__command__catch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="059__command__catch_8tcl_1a2aaa92757686acea102cba3475f0c13b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>j</definition> + <argsstring>args</argsstring> + <name>j</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="059_command_catch.tcl" bodystart="75" bodyend="78"/> + <references refid="059__command__catch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="059__command__catch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + </sectiondef> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <location file="059_command_catch.tcl"/> + </compounddef> +</doxygen> diff --git a/testing/059_command_catch.tcl b/testing/059_command_catch.tcl new file mode 100644 index 0000000..4227da7 --- /dev/null +++ b/testing/059_command_catch.tcl @@ -0,0 +1,87 @@ +#// objective: tests processing of catch/eval, only references/referencedby relations are relevant +#// check: 059__command__catch_8tcl.xml +#// config: REFERENCED_BY_RELATION = yes +#// config: REFERENCES_RELATION = yes +#// config: EXTRACT_ALL = yes +#// config: INLINE_SOURCES = no + +## +# \brief should be reference by every proc below +proc Invoked args { + puts "Procedure \"Invoked\" is invoked indeed. Ok." + return $args +} +## +# \brief must not be reference by every proc below +proc NotInvoked args { + puts "Procedure \"NotInvoked\" is invoked. Not Ok!" + return $args +} +# +# check if call references work at all +proc a args { + Invoked NotInvoked + return +} +# +# catch command +# Tcl8.5: catch script ?resultVarName? ?optionsVarName? +proc b args { + catch Invoked + return +} +proc c args { + catch Invoked NotInvoked + return +} +proc d args { + catch Invoked NotInvoked NotInvoked + return +} +proc e args { + set r [catch Invoked NotInvoked NotInvoked] + return +} +proc f args { + set r [catch {Invoked} NotInvoked NotInvoked] + return +} +proc g args { + set r [catch { + set x [Invoked] + } NotInvoked NotInvoked] + return +} +# eval arg ?arg ...? +proc h args { + eval Invoked NotInvoked + return +} +proc i args { + eval set NotInvoked [Invoked NotInvoked] + return +} +# This is a striped down example. Original: +# +# jpeg.tcl -- +# +# Querying and modifying JPEG image files. +# +# Copyright (c) 2004 Aaron Faupell <afaupell@users.sourceforge.net> +# +# ... +# eval [list addComment $file] [lreplace $com 0 0 $comment] +# ... +proc j args { + eval [list set] [list NotInvoked] [Invoked NotInvoked] + return +} +# +# call all single letter procs +# let tcl check what is called and what is not called +foreach p [info procs ?] { + puts "Check procedure \"$p\"" + $p +} +exit + diff --git a/testing/060/060__command__switch_8tcl.xml b/testing/060/060__command__switch_8tcl.xml new file mode 100644 index 0000000..d9424ef --- /dev/null +++ b/testing/060/060__command__switch_8tcl.xml @@ -0,0 +1,358 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> + <compounddef id="060__command__switch_8tcl" kind="file"> + <compoundname>060_command_switch.tcl</compoundname> + <sectiondef kind="func"> + <memberdef kind="function" id="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>Invoked</definition> + <argsstring>args</argsstring> + <name>Invoked</name> + <briefdescription> + <para>should be reference by every proc below </para> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="10" bodyend="13"/> + <referencedby refid="060__command__switch_8tcl_1ab08ae027fc5777bc4f0629f1b60b35db" compoundref="060__command__switch_8tcl" startline="22" endline="25">a</referencedby> + <referencedby refid="060__command__switch_8tcl_1a68bdb74c144118d936931c46f75d4b3e" compoundref="060__command__switch_8tcl" startline="29" endline="36">b</referencedby> + <referencedby refid="060__command__switch_8tcl_1ab14f56bc3bd7680490ece4ad7815465f" compoundref="060__command__switch_8tcl" startline="37" endline="43">c</referencedby> + <referencedby refid="060__command__switch_8tcl_1af43f4b1f0064a33b2d662af9f06d3a00" compoundref="060__command__switch_8tcl" startline="44" endline="50">d</referencedby> + <referencedby refid="060__command__switch_8tcl_1aff65a51a703804e0ad1adbcfd76c86f8" compoundref="060__command__switch_8tcl" startline="51" endline="57">e</referencedby> + <referencedby refid="060__command__switch_8tcl_1af6830d2c644b45088ea8f1f74a46b778" compoundref="060__command__switch_8tcl" startline="58" endline="65">f</referencedby> + <referencedby refid="060__command__switch_8tcl_1af08b4b5bfa9edf0b0a7dee1c2b2c29e0" compoundref="060__command__switch_8tcl" startline="66" endline="73">g</referencedby> + <referencedby refid="060__command__switch_8tcl_1af96fd0966e32a310a0778d2e5c357700" compoundref="060__command__switch_8tcl" startline="74" endline="81">h</referencedby> + <referencedby refid="060__command__switch_8tcl_1a8c90afd4641b25be86bd09983c3cbee0" compoundref="060__command__switch_8tcl" startline="83" endline="94">i</referencedby> + <referencedby refid="060__command__switch_8tcl_1a2aaa92757686acea102cba3475f0c13b" compoundref="060__command__switch_8tcl" startline="95" endline="106">j</referencedby> + <referencedby refid="060__command__switch_8tcl_1a20363f854eb4098a446733d63d34dbc1" compoundref="060__command__switch_8tcl" startline="107" endline="118">k</referencedby> + <referencedby refid="060__command__switch_8tcl_1aff56f84b49947b84b2a304f51cf8e678" compoundref="060__command__switch_8tcl" startline="119" endline="129">l</referencedby> + <referencedby refid="060__command__switch_8tcl_1a78d127e8bda64d4471ac811ad512fbd9" compoundref="060__command__switch_8tcl" startline="130" endline="141">m</referencedby> + <referencedby refid="060__command__switch_8tcl_1acdde3cd86eb2421ce8dbb2e85227d368" compoundref="060__command__switch_8tcl" startline="142" endline="153">n</referencedby> + <referencedby refid="060__command__switch_8tcl_1a495e7a4ede0831107e9d435080a7c268" compoundref="060__command__switch_8tcl" startline="154" endline="165">o</referencedby> + <referencedby refid="060__command__switch_8tcl_1a15229b450f26d8fa1c10bea4f3279f4d" compoundref="060__command__switch_8tcl" startline="166" endline="175">p</referencedby> + <referencedby refid="060__command__switch_8tcl_1ab678a0a9a7e94bce5b17141f40220d88" compoundref="060__command__switch_8tcl" startline="176" endline="185">q</referencedby> + <referencedby refid="060__command__switch_8tcl_1a0a0bd3dc69dd06934c4e6362155e0ace" compoundref="060__command__switch_8tcl" startline="186" endline="195">r</referencedby> + <referencedby refid="060__command__switch_8tcl_1a011c73f2dbb87635a3b4206c72355f6e" compoundref="060__command__switch_8tcl" startline="196" endline="205">s</referencedby> + <referencedby refid="060__command__switch_8tcl_1a429306927a4581ad93fac620e605eec5" compoundref="060__command__switch_8tcl" startline="207" endline="210">x</referencedby> + <referencedby refid="060__command__switch_8tcl_1a32b6e5206a2cc75dbb8ed2eff74f5ce4" compoundref="060__command__switch_8tcl" startline="215" endline="229">y</referencedby> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1a3f55465410c57ed00ab28827a741b1c3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>NotInvoked</definition> + <argsstring>args</argsstring> + <name>NotInvoked</name> + <briefdescription> + <para>must not be reference by every proc below </para> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="16" bodyend="19"/> + <referencedby refid="060__command__switch_8tcl_1a32b6e5206a2cc75dbb8ed2eff74f5ce4" compoundref="060__command__switch_8tcl" startline="215" endline="229">y</referencedby> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1ab08ae027fc5777bc4f0629f1b60b35db" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>a</definition> + <argsstring>args</argsstring> + <name>a</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="22" bodyend="25"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1a68bdb74c144118d936931c46f75d4b3e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>b</definition> + <argsstring>args</argsstring> + <name>b</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="29" bodyend="36"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1ab14f56bc3bd7680490ece4ad7815465f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>c</definition> + <argsstring>args</argsstring> + <name>c</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="37" bodyend="43"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1af43f4b1f0064a33b2d662af9f06d3a00" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>d</definition> + <argsstring>args</argsstring> + <name>d</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="44" bodyend="50"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1aff65a51a703804e0ad1adbcfd76c86f8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>e</definition> + <argsstring>args</argsstring> + <name>e</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="51" bodyend="57"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1af6830d2c644b45088ea8f1f74a46b778" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>f</definition> + <argsstring>args</argsstring> + <name>f</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="58" bodyend="65"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1af08b4b5bfa9edf0b0a7dee1c2b2c29e0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>g</definition> + <argsstring>args</argsstring> + <name>g</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="66" bodyend="73"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1af96fd0966e32a310a0778d2e5c357700" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>h</definition> + <argsstring>args</argsstring> + <name>h</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="74" bodyend="81"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1a8c90afd4641b25be86bd09983c3cbee0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>i</definition> + <argsstring>args</argsstring> + <name>i</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="83" bodyend="94"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1a2aaa92757686acea102cba3475f0c13b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>j</definition> + <argsstring>args</argsstring> + <name>j</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="95" bodyend="106"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1a20363f854eb4098a446733d63d34dbc1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>k</definition> + <argsstring>args</argsstring> + <name>k</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="107" bodyend="118"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1aff56f84b49947b84b2a304f51cf8e678" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>l</definition> + <argsstring>args</argsstring> + <name>l</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="119" bodyend="129"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1a78d127e8bda64d4471ac811ad512fbd9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>m</definition> + <argsstring>args</argsstring> + <name>m</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="130" bodyend="141"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1acdde3cd86eb2421ce8dbb2e85227d368" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>n</definition> + <argsstring>args</argsstring> + <name>n</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="142" bodyend="153"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1a495e7a4ede0831107e9d435080a7c268" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>o</definition> + <argsstring>args</argsstring> + <name>o</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="154" bodyend="165"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1a15229b450f26d8fa1c10bea4f3279f4d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>p</definition> + <argsstring>args</argsstring> + <name>p</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="166" bodyend="175"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1ab678a0a9a7e94bce5b17141f40220d88" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>q</definition> + <argsstring>args</argsstring> + <name>q</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="176" bodyend="185"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1a0a0bd3dc69dd06934c4e6362155e0ace" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>r</definition> + <argsstring>args</argsstring> + <name>r</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="186" bodyend="195"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1a011c73f2dbb87635a3b4206c72355f6e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>s</definition> + <argsstring>args</argsstring> + <name>s</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="196" bodyend="205"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1a429306927a4581ad93fac620e605eec5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>x</definition> + <argsstring>args</argsstring> + <name>x</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="207" bodyend="210"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + </memberdef> + <memberdef kind="function" id="060__command__switch_8tcl_1a32b6e5206a2cc75dbb8ed2eff74f5ce4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>y</definition> + <argsstring>args</argsstring> + <name>y</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="060_command_switch.tcl" bodystart="215" bodyend="229"/> + <references refid="060__command__switch_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="060__command__switch_8tcl" startline="10" endline="13">Invoked</references> + <references refid="060__command__switch_8tcl_1a3f55465410c57ed00ab28827a741b1c3" compoundref="060__command__switch_8tcl" startline="16" endline="19">NotInvoked</references> + </memberdef> + </sectiondef> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <location file="060_command_switch.tcl"/> + </compounddef> +</doxygen> diff --git a/testing/060_command_switch.tcl b/testing/060_command_switch.tcl new file mode 100644 index 0000000..ab556d0 --- /dev/null +++ b/testing/060_command_switch.tcl @@ -0,0 +1,238 @@ +#// objective: tests processing of switch, only references/referencedby relations are relevant +#// check: 060__command__switch_8tcl.xml +#// config: REFERENCED_BY_RELATION = yes +#// config: REFERENCES_RELATION = yes +#// config: EXTRACT_ALL = yes +#// config: INLINE_SOURCES = no + +## +# \brief should be reference by every proc below +proc Invoked args { + puts "Procedure \"Invoked\" is invoked indeed. Ok." + return $args +} +## +# \brief must not be reference by every proc below +proc NotInvoked args { + puts "Procedure \"NotInvoked\" is invoked. Not Ok!" + return $args +} +# +# check if call references work at all +proc a args { + Invoked NotInvoked + return +} +# +# switch command +# switch ?options? string pattern body ?pattern body ...? +proc b args { + switch value NotInvoked { + } NotInvoked { + } default { + Invoked + } + return +} +proc c args { + switch value NotInvoked { + } [Invoked] { + } default { + } + return +} +proc d args { + switch NotInvoked pattern { + } [Invoked] { + } default { + } + return +} +proc e args { + switch [Invoked] pattern { + } NotInvoked { + } default { + } + return +} +proc f args { + switch -exact value pattern { + } NotInvoked { + } default { + Invoked + } + return +} +proc g args { + switch -exact -- value pattern { + } NotInvoked { + } default { + Invoked + } + return +} +proc h args { + switch -exact -- -value pattern { + } NotInvoked { + } default { + Invoked + } + return +} +# switch ?options? string {pattern body ?pattern body ...?} +proc i args { + switch value { + NotInvoked { + } + NotInvoked { + } + default { + Invoked + } + } + return +} +proc j args { + switch vale { + NotInvoked { + } + [NotInvoked] { + } + default { + Invoked + } + } + return +} +proc k args { + switch NotInvoked { + [NotInvoked] { + } + NotInvoked { + Invoked + } + default { + } + } + return +} +proc l args { + switch [Invoked] { + pattern { + } + NotInvoked { + } + default { + } + } + return +} +proc m args { + switch -exact value { + pattern { + } + NotInvoked { + } + default { + Invoked + } + } + return +} +proc n args { + switch -exact -- value { + pattern { + } + NotInvoked { + } + default { + Invoked + } + } + return +} +proc o args { + switch -exact -- -value { + pattern { + } + NotInvoked { + } + default { + Invoked + } + } + return +} +proc p args { + switch -exact -- inquotes { + "inquotes" { + Invoked + } + default { + } + } + return +} +proc q args { + switch -exact -- "in quotes" { + "in quotes" { + Invoked + } + default { + } + } + return +} +proc r args { + switch -exact -- inbraces { + {inbraces} { + Invoked + } + default { + } + } + return +} +proc s args { + switch -exact -- {in braces} { + {in braces} { + Invoked + } + default { + } + } + return +} +# wrong syntax +proc x args { + catch {switch -exact -- [Invoked] pattern1 NotInvoked pattern2} + return +} +# The current version does not check the last argument beforehand. +# Therefore, all script elements are evaluated as scripts before +# the parser detects the dangling pattern. It throws a warning, at the very least. +# Anyway, for working code the documentation will be correct. +proc y args { + catch {switch -exact -- [Invoked] { + pattern { + NotInvoked + } + NotInvoked { + NotInvoked + } + default { + NotInvoked + } + pattern + }} + return +} +# +# call all single letter procs +# let tcl check what is called and what is not called +foreach p [info procs ?] { + puts "Check procedure \"$p\"" + $p +} +exit + diff --git a/testing/061/class_test.xml b/testing/061/class_test.xml new file mode 100644 index 0000000..0922539 --- /dev/null +++ b/testing/061/class_test.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> + <compounddef id="class_test" kind="class" prot="public"> + <compoundname>Test</compoundname> + <sectiondef kind="public-func"> + <memberdef kind="function" id="class_test_1af863c78bca81b4e276dcbb30f12e8ec6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>Test::testmethod_one</definition> + <argsstring>args</argsstring> + <name>testmethod_one</name> + <briefdescription> + <para><ref refid="class_test" kindref="compound">Test</ref> method 1. </para> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="061_bug_705503.tcl" bodystart="12" bodyend="12"/> + </memberdef> + <memberdef kind="function" id="class_test_1ac7148d2852b30d157e078fe0fe58a350" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>Test::constructor</definition> + <argsstring>args</argsstring> + <name>constructor</name> + <briefdescription> + <para>Construction of class. </para> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="061_bug_705503.tcl" bodystart="16" bodyend="16"/> + </memberdef> + <memberdef kind="function" id="class_test_1abdf3375950ec49e29f4bae947b7e3f26" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>Test::testmethod_two</definition> + <argsstring>args</argsstring> + <name>testmethod_two</name> + <briefdescription> + <para><ref refid="class_test" kindref="compound">Test</ref> method 2. </para> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="061_bug_705503.tcl" bodystart="19" bodyend="19"/> + </memberdef> + </sectiondef> + <briefdescription> + <para>Testclass. </para> + </briefdescription> + <detaileddescription> + </detaileddescription> + <location file="061_bug_705503.tcl" bodystart="10" bodyend="13"/> + <listofallmembers> + <member refid="class_test_1ac7148d2852b30d157e078fe0fe58a350" prot="public" virt="non-virtual"> + <scope>Test</scope> + <name>constructor</name> + </member> + <member refid="class_test_1af863c78bca81b4e276dcbb30f12e8ec6" prot="public" virt="non-virtual"> + <scope>Test</scope> + <name>testmethod_one</name> + </member> + <member refid="class_test_1abdf3375950ec49e29f4bae947b7e3f26" prot="public" virt="non-virtual"> + <scope>Test</scope> + <name>testmethod_two</name> + </member> + </listofallmembers> + </compounddef> +</doxygen> diff --git a/testing/061_bug_705503.tcl b/testing/061_bug_705503.tcl new file mode 100644 index 0000000..ce25d6e --- /dev/null +++ b/testing/061_bug_705503.tcl @@ -0,0 +1,19 @@ +#// objective: test for bug 705503 - TCL: Documentation of oo::define is not working +#// check: class_test.xml +#// config: EXTRACT_ALL = yes + +# taken from +# https://bugzilla.gnome.org/show_bug.cgi?id=705503 + +## @class Test +# @brief Testclass +oo::class create Test { + ## @brief Test method 1. + method testmethod_one args {} +} + +## @brief Construction of class +oo::define Test constructor args {} + +## @brief Test method 2 +oo::define Test method testmethod_two args {} diff --git a/testing/062/namespacen1.xml b/testing/062/namespacen1.xml new file mode 100644 index 0000000..0ef31ff --- /dev/null +++ b/testing/062/namespacen1.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> + <compounddef id="namespacen1" kind="namespace"> + <compoundname>n1</compoundname> + <innernamespace refid="namespacen1_1_1n1">n1::n1</innernamespace> + <sectiondef kind="func"> + <memberdef kind="function" id="namespacen1_1a9f23d7a7f141915457e8e26023d70cb4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>n1::p1</definition> + <argsstring>args</argsstring> + <name>p1</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="062_namespace_resolution.tcl" bodystart="12" bodyend="16"/> + <references refid="namespacen1_1a0bff29f718fa43e49b7ca79985afb5fa" compoundref="062__namespace__resolution_8tcl" startline="17" endline="20">p2</references> + </memberdef> + <memberdef kind="function" id="namespacen1_1a0bff29f718fa43e49b7ca79985afb5fa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>n1::p2</definition> + <argsstring>args</argsstring> + <name>p2</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="062_namespace_resolution.tcl" bodystart="17" bodyend="20"/> + <referencedby refid="namespacen1_1a9f23d7a7f141915457e8e26023d70cb4" compoundref="062__namespace__resolution_8tcl" startline="12" endline="16">p1</referencedby> + </memberdef> + </sectiondef> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <location file="062_namespace_resolution.tcl" line="11" column="1"/> + </compounddef> +</doxygen> diff --git a/testing/062/namespacen2.xml b/testing/062/namespacen2.xml new file mode 100644 index 0000000..39c21d2 --- /dev/null +++ b/testing/062/namespacen2.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> + <compounddef id="namespacen2" kind="namespace"> + <compoundname>n2</compoundname> + <innernamespace refid="namespacen2_1_1n2">n2::n2</innernamespace> + <sectiondef kind="func"> + <memberdef kind="function" id="namespacen2_1a74950c0185232e374220a0707b4903c6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>n2::p1</definition> + <argsstring>args</argsstring> + <name>p1</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="062_namespace_resolution.tcl" bodystart="31" bodyend="35"/> + <references refid="namespacen2_1a49fadfbefa795204a3c566ec76ff632f" compoundref="062__namespace__resolution_8tcl" startline="36" endline="39">p2</references> + </memberdef> + <memberdef kind="function" id="namespacen2_1a49fadfbefa795204a3c566ec76ff632f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>n2::p2</definition> + <argsstring>args</argsstring> + <name>p2</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="062_namespace_resolution.tcl" bodystart="36" bodyend="39"/> + <referencedby refid="namespacen2_1a74950c0185232e374220a0707b4903c6" compoundref="062__namespace__resolution_8tcl" startline="31" endline="35">p1</referencedby> + </memberdef> + </sectiondef> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <location file="062_namespace_resolution.tcl" line="29" column="1"/> + </compounddef> +</doxygen> diff --git a/testing/062/namespacen3.xml b/testing/062/namespacen3.xml new file mode 100644 index 0000000..25c803c --- /dev/null +++ b/testing/062/namespacen3.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> + <compounddef id="namespacen3" kind="namespace"> + <compoundname>n3</compoundname> + <innernamespace refid="namespacen3_1_1n3">n3::n3</innernamespace> + <sectiondef kind="func"> + <memberdef kind="function" id="namespacen3_1ae7e87e49507bd56dad087cffecd35b29" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>n3::p1</definition> + <argsstring>args</argsstring> + <name>p1</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="062_namespace_resolution.tcl" bodystart="47" bodyend="51"/> + <references refid="namespacen3_1a14e9fe1b27a6d36db9ace2eef4509979" compoundref="062__namespace__resolution_8tcl" startline="52" endline="55">p2</references> + </memberdef> + <memberdef kind="function" id="namespacen3_1a14e9fe1b27a6d36db9ace2eef4509979" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>n3::p2</definition> + <argsstring>args</argsstring> + <name>p2</name> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="062_namespace_resolution.tcl" bodystart="52" bodyend="55"/> + <referencedby refid="namespacen3_1ae7e87e49507bd56dad087cffecd35b29" compoundref="062__namespace__resolution_8tcl" startline="47" endline="51">p1</referencedby> + </memberdef> + </sectiondef> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <location file="062_namespace_resolution.tcl" line="45" column="1"/> + </compounddef> +</doxygen> diff --git a/testing/062_namespace_resolution.tcl b/testing/062_namespace_resolution.tcl new file mode 100644 index 0000000..dcc6701 --- /dev/null +++ b/testing/062_namespace_resolution.tcl @@ -0,0 +1,68 @@ +#// objective: tests correct namespace resolution, only references/referencedby relations are relevant +#// check: namespacen1.xml +#// check: namespacen2.xml +#// check: namespacen3.xml +#// config: REFERENCED_BY_RELATION = yes +#// config: REFERENCES_RELATION = yes +#// config: EXTRACT_ALL = yes +#// config: INLINE_SOURCES = yes + +# now: combine namespace eval and qualified names +namespace eval n1 { + proc p1 args { + array set info [info frame 0]; puts -nonewline ->$info(proc) + p2 + return + } + proc p2 args { + array set info [info frame 0]; puts -nonewline ->$info(proc) + return + } + namespace eval n1 { + proc p1 args { + array set info [info frame 0]; puts -nonewline ->$info(proc) + return + } + } +} +# same thing, but fully qualified proc names +namespace eval ::n2 {} +namespace eval ::n2::n2 {} +proc ::n2::p1 args { + array set info [info frame 0]; puts -nonewline ->$info(proc) + p2 + return +} +proc ::n2::p2 args { + array set info [info frame 0]; puts -nonewline ->$info(proc) + return +} +proc ::n2::n2::p2 args { + array set info [info frame 0]; puts -nonewline ->$info(proc) + return +} +# same thing, without leading :: +namespace eval n3 {} +namespace eval n3::n3 {} +proc n3::p1 args { + array set info [info frame 0]; puts -nonewline ->$info(proc) + p2 + return +} +proc n3::p2 args { + array set info [info frame 0]; puts -nonewline ->$info(proc) + return +} +proc n3::n3::p2 args { + array set info [info frame 0]; puts -nonewline ->$info(proc) + return +} +# now, check with tcl what is called +n1::p1 +puts "" +n2::p1 +puts "" +n3::p1 +puts "" +exit + diff --git a/testing/063/namespaceoo.xml b/testing/063/namespaceoo.xml new file mode 100644 index 0000000..eb0c93c --- /dev/null +++ b/testing/063/namespaceoo.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> + <compounddef id="namespaceoo" kind="namespace"> + <compoundname>oo</compoundname> + <innernamespace refid="namespaceoo_1_1define">oo::define</innernamespace> + <innernamespace refid="namespaceoo_1_1_helpers">oo::Helpers</innernamespace> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <location file="[generated]" line="1" column="1"/> + </compounddef> +</doxygen> diff --git a/testing/063/namespaceoo_1_1_helpers.xml b/testing/063/namespaceoo_1_1_helpers.xml new file mode 100644 index 0000000..5f157c8 --- /dev/null +++ b/testing/063/namespaceoo_1_1_helpers.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> + <compounddef id="namespaceoo_1_1_helpers" kind="namespace"> + <compoundname>oo::Helpers</compoundname> + <sectiondef kind="func"> + <memberdef kind="function" id="namespaceoo_1_1_helpers_1a96c5b755588beb2e930cff23ce811d6c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>oo::Helpers::classvar</definition> + <argsstring>args</argsstring> + <name>classvar</name> + <briefdescription> + </briefdescription> + <detaileddescription> + <para>Extension to TclOO to add static variables. Defines variables on the class instead of on the object. Can be used to enforce a limited number of instantiations. <simplesect kind="warning"><para>Do not modify! (unless you're waaay smarter than the writer of the below Tcl/Tk book). flynt2012tcl </para></simplesect> +</para> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="063_bug_729092.tcl" bodystart="40" bodyend="49"/> + </memberdef> + </sectiondef> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <location file="063_bug_729092.tcl" line="1" column="1"/> + </compounddef> +</doxygen> diff --git a/testing/063/namespaceoo_1_1define.xml b/testing/063/namespaceoo_1_1define.xml new file mode 100644 index 0000000..50891e6 --- /dev/null +++ b/testing/063/namespaceoo_1_1define.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version=""> + <compounddef id="namespaceoo_1_1define" kind="namespace"> + <compoundname>oo::define</compoundname> + <sectiondef kind="func"> + <memberdef kind="function" id="namespaceoo_1_1define_1a89e7ea222a316f1926c1f9f30f2cc5c1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> + <type/> + <definition>oo::define::classmethod</definition> + <argsstring>name?args??body?</argsstring> + <name>classmethod</name> + <briefdescription> + </briefdescription> + <detaileddescription> + <para>Extension to TclOO to add static methods. Defines the method on the class instead of on the object. Can be used for the creation of megawidgets using TclOO by overriding the unknown method to detect if the user is trying to instantiate a widget (because the method will be unknown and start with a dot). <simplesect kind="warning"><para>Do not modify! (unless you're waaay smarter than the writer of the below Tcl/Tk book). flynt2012tcl </para></simplesect> +</para> + </detaileddescription> + <inbodydescription> + </inbodydescription> + <location file="063_bug_729092.tcl" bodystart="21" bodyend="30"/> + </memberdef> + </sectiondef> + <briefdescription> + </briefdescription> + <detaileddescription> + </detaileddescription> + <location file="063_bug_729092.tcl" line="1" column="1"/> + </compounddef> +</doxygen> diff --git a/testing/063_bug_729092.tcl b/testing/063_bug_729092.tcl new file mode 100644 index 0000000..7c35f95 --- /dev/null +++ b/testing/063_bug_729092.tcl @@ -0,0 +1,49 @@ +#// objective: test for bug 729092 - TCL: Full documentation not shown for procs in namespaces. +#// check: namespaceoo.xml +#// check: namespaceoo_1_1_helpers.xml +#// check: namespaceoo_1_1define.xml +#// config: EXTRACT_ALL = yes +#// config: GENERATE_HTML = yes + +# taken from +# https://bugzilla.gnome.org/show_bug.cgi?id=729092 + +## +# Extension to TclOO to add static methods. +# Defines the method on the class instead of on the object. Can be used for +# the creation of megawidgets using TclOO by overriding the unknown method to +# detect if the user is trying to instantiate a widget (because the method +# will be unknown and start with a dot). +# @warning Do not modify! (unless you're waaay smarter than the writer of the +# below Tcl/Tk book). +# @cite flynt2012tcl +# +proc ::oo::define::classmethod {name {args ""} {body ""}} { + # Create the method on the class if the caller gave arguments and body. + if {[llength [info level 0]] == 4} { + uplevel 1 [list self method $name $args $body] + } + # Get the name of the class being defined. + set cls [lindex [info level -1] 1] + # Make connection to private class "my" command by forwarding. + uplevel forward $name [info object namespace $cls]::my $name +} + +## +# Extension to TclOO to add static variables. +# Defines variables on the class instead of on the object. Can be used to +# enforce a limited number of instantiations. +# @warning Do not modify! (unless you're waaay smarter than the writer of the +# below Tcl/Tk book). +# @cite flynt2012tcl +# +proc ::oo::Helpers::classvar {args} { + # Get reference to class's namespace. + set nsCl [info object namespace [uplevel 1 {self class}]] + set nsObj [uplevel 1 {namespace current}] + # Link variables into local (caller's) scope. + foreach v $args { + uplevel "my variable $v" + upvar #0 ${nsCl}::$v ${nsObj}::$v + } +}
\ No newline at end of file diff --git a/testing/_057_caller_graphs.tcl b/testing/_057_caller_graphs.tcl new file mode 100644 index 0000000..24b9c20 --- /dev/null +++ b/testing/_057_caller_graphs.tcl @@ -0,0 +1,4 @@ +proc inFileB args { + array set info [info frame 0]; puts -nonewline ->$info(proc) + inFileA +} |