summaryrefslogtreecommitdiffstats
path: root/src/util.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Refactoring: replacing dynamic_cast by static_cast to improve performanceDimitri van Heesch2020-11-131-9/+10
|
* Refactoring: Introduce immutable and mutable interfacesDimitri van Heesch2020-11-091-29/+28
| | | | | | Split Definition/ClassDef/NamespaceDef/MemberDef into a immutable and mutable part Aliases are immutable, other symbols are stored using an immutable interface but can be made mutable explicitly by dynamic casting.
* Fixed marker replacement for a placeholder at the end of the commandDimitri van Heesch2020-10-291-2/+2
|
* Some further simplications and modernizationsDimitri van Heesch2020-10-291-50/+30
|
* Handling commands for backslash and at-sign in ALIASESalbert-github2020-10-291-12/+21
| | | | | | When we have an command like `\\`, `\@`, `@@` or `@\`in ALIASES this should not disturb the recognition of the replacement strings like `\2`, so e.g. `\\2` should not be replaced by `\y` but remain `\\2` (assuming the `\2` is linked to `y` in an ALIASES). This issue was found after #8137 had been fixed and was already present in older versions as well.
* Merge branch 'feature/issue_8137' of ↵Dimitri van Heesch2020-10-281-1/+1
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/issue_8137
| * issue #8137 Whitespace/Separator required to recognize custom command argumentalbert-github2020-10-281-1/+1
| | | | | | | | In case the character directly following the number of a substitution marker is a backslash search directly a new substitution pattern
* | Refactoring: introduce SymbolResolver to group symbol lookup routinesDimitri van Heesch2020-10-281-1018/+27
|/ | | | - Main goal was to avoid use of global state.
* Refactoring: Remove unused DefinitionIntf and DefinitionList classesDimitri van Heesch2020-10-231-1/+0
|
* Refactoring: modernize Doxygen::symbolMapDimitri van Heesch2020-10-231-98/+45
|
* issue #8103: C++ Table of content, namespace list does not contains ↵Dimitri van Heesch2020-10-191-29/+40
| | | | namespace without class
* Performance tweak: Pass BaseClassList by const referenceDimitri van Heesch2020-10-171-3/+3
|
* issue #8091: [C++] Newer doxygen versions add a lot of bogus warnings about ↵Dimitri van Heesch2020-10-141-40/+49
| | | | undocumented entities
* Refactoring: Modernize BaseClassListDimitri van Heesch2020-10-121-42/+28
|
* Refactoring: Remove use of globals/statics in isAccessibleFrom*Dimitri van Heesch2020-10-111-107/+42
| | | | - Also moved AccessStack to util.h and modernized it.
* Merge branch 'albert-github-feature/bug_md_pg_cnt'Dimitri van Heesch2020-10-041-6/+14
|\
| * Reworked changes a bitDimitri van Heesch2020-10-041-6/+9
| | | | | | | | | | | | - topLine is replaced by startLine - changed unputDocnl macro into a more self contained function-like macro
| * Merge branch 'feature/bug_md_pg_cnt' of ↵Dimitri van Heesch2020-10-031-6/+11
| |\ | | | | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_md_pg_cnt
| | * Miscounting of lines in respect to page commandalbert-github2020-09-241-3/+6
| | | | | | | | | | | | `file` was overwritten but this should not happen, onlt for warnings this would be OK.
| | * Miscounting of lines in respect to page commandalbert-github2020-09-241-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All examples together are a bit big so they are all in the attached file together with the warnings before and after this patch. When looking at the output we see that a number of lines are off by 1 ore more due to the insertion of extra lines in the code or due to the fact that there is a reference to the start of the documentation of the page and not the line of the page command. - commentscan.l in case of a rule contaiinge {DOCNL} this can be `=n` or `\ilinebr` in the later case this should not be replaced by `\n` as this results in an increase of the line count later on. in case of a page like command also register the line of the command as "topline". - entry.h, entry.cpp storage space for the "topline" registering the line of the page like commands. - doxygen.cpp setting and using the "topline" - markdown.cpp, markdown.h don't add a `\n` as this increases the line count but use the `\ilinebr` to get correct warnings see to it that when having empty lines at the top of the page and a page is added that the empty lines appear after the page command. - index.cpp using the "topline" instead of the "docLine" to get the correct warning - pagedef.cpp, pagedef.h set and retrieve the "topline" for page like commands. - util.cpp, util.h setting and using the "topline" in `addRelatedPage` use the known file name and line for the warning regarding the section label - cite.cpp, context.cpp, reflist.cpp changed to have good function calls.
* | | Using f() instead f(void) in C++ , consistencyalbert-github2020-10-021-1/+1
|/ / | | | | | | Seen the discussion in the pull request #8069, for consistency change occurrences of f(void) into f().
* | Refactoring: prepare output generators for multi-threaded useDimitri van Heesch2020-09-271-38/+25
|/
* Refactoring: replaced QCache by STL based LRU cache implementation.Dimitri van Heesch2020-09-201-45/+37
| | | | | Also prepared some code for multi-threaded use, and Removed tabs and trailing spaces for code.l
* Fix too aggressive hyphenation of abbr. words. (#8026)Dmitriy Dorofeev2020-09-171-1/+1
| | | | | * Fix too aggressive giphenation of abbr. words. * Remove unwanted change at line 2266
* Merge pull request #8033 from albert-github/feature/bug_ftn_recognDimitri van Heesch2020-09-171-1/+54
|\ | | | | Incorrect duplicate code for Fortran fixed/free recognition
| * Incorrect duplicate code for Fortran fixed/free recognitionalbert-github2020-09-151-1/+54
| | | | | | | | There were 2 routines to recognize whether Fortran code was Fixed of Free format code, though the version in `commentcnv.l` didn't take the settings of `EXTENSION_MAPPING` into account which might lead to incorrect recognition of the format, this has been corrected.
* | issue #8034: doxygen crashesDimitri van Heesch2020-09-171-1/+1
|/
* Double "->" in warning in case of trailing return typealbert-github2020-09-071-1/+1
| | | | | | | | | | | | | | | | | | When having the input ``` /*! * \brief Performs some side effect * \param i1 first */ auto side_effect_after(int i1, int i2) -> void; ``` we get the warning ``` warning: The following parameter of side_effect_after(int i1, int i2) -> -> void is not documented: ``` so a double "->". The "->" has already been added in scanner.l and defargs.l so shouldn't be added here. (also the return type gives a warning, but this is another issue #6442)..
* issue #7973: C++ grouped functions in namespace have disapeardDimitri van Heesch2020-08-241-30/+42
| | | | | - reverted some of the change that introduced the problem - fixed the original problem (#7216) in a different way
* Improvement of line count for e.g. warningsalbert-github2020-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When having a file like (but extended example based on a problem found in CGAL where line numbers were a bit off): ``` /*! The <hr2> class `Face_filtered_graph` is an adaptor that creates a filtered view of a graph */ struct Face_filtered_graph_no_det { /*! * \brief constructs an empty face filtered graph (no face is selected) * * * * * * * * * <table class="params"> * something * something * </table> * * * * * * * * * <table class="params"> * something * something * </table> */ Face_filtered_graph_no_det(); } ``` we get: ``` .../no_det.h:1: warning: Unsupported xml/html tag <hr2> found .../no_det.h:5: warning: expected <tr> tag but found TK_LNKWORD token instead! .../no_det.h:17: warning: expected <tr> tag but found TK_LNKWORD token instead! ``` instead of: ``` .../no_det.h:1: warning: Unsupported xml/html tag <hr2> found .../no_det.h:14: warning: expected <tr> tag but found TK_LNKWORD token instead! .../no_det.h:26: warning: expected <tr> tag but found TK_LNKWORD token instead! ``` Line counting is in an interpreter, especially when merging blocks etc.) a difficult situation. - `util.cpp`: `\ilinebr` is an internal newline, but the line count should not be increased - `commentscan.l` - put empty lines in output as well otherwise they are missing in the line count - don't insert `\n` to separate blocks, but use the artificial `\ilinebr` - properly initialize the `docLine` (important for examples were at the beginning of the block there are a number of newlines
* issue #7951: Doxywizard 1.8.19 (Windows): Source code directory seems to be ↵Dimitri van Heesch2020-08-101-2/+2
| | | | ignored
* Refactoring: changed QValueList to std::vector for template engineDimitri van Heesch2020-08-061-1/+2
|
* New option allowing processing using multiple threadsDimitri van Heesch2020-08-051-4/+0
| | | | | | | | | | | | | | | | | | Introduces new option NUM_PROC_THREADS. It specifies the number threads doxygen is allowed to use during processing. When set to 0 doxygen will based this on the number of cores available in the system. You can set it explicitly to a value larger than 0 to get more control over the balance between CPU load and processing speed. At this moment only the input processing can be done using multiple threads. I plan to extend this with more parallel processing in the future. Since this is still an experimental feature the default is set to 1, which efficively disables parallel processing. Please report any issues you encounter that appear when changing the default. Note that generating dot graphs in parallel is still controlled separately by the DOT_NUM_THREADS setting.
* Merge branch 'albert-github-feature/bug_py_empty_comment'Dimitri van Heesch2020-08-051-0/+49
|\
| * Moved stripIndentation() to util, make it safe for empty inputDimitri van Heesch2020-08-051-0/+49
|/
* issue #7727: warning: documented symbol `static bool (long-winded C++ type)' ↵Dimitri van Heesch2020-08-041-64/+32
| | | | was not declared or defined.
* issue #7881: More flexible and correct detection of direction of an argument ↵Dimitri van Heesch2020-07-311-1/+1
| | | | (another fix)
* issue #7881: More flexible and correct detection of direction of an argument ↵Dimitri van Heesch2020-07-301-7/+10
| | | | (fix)
* Simplified extractDirection()Dimitri van Heesch2020-07-301-20/+4
| | | | Also fixed bug preventing direction to be stripped from the parameter documentation.
* Merge branch 'feature/bug_direction' of ↵Dimitri van Heesch2020-07-301-4/+19
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_direction
| * More flexible and correct detection of direction of an argumentalbert-github2020-06-281-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | In the current version a line like: ``` uint8_t innInstances, ///< [inn]Number of CIP node instances. ``` was seen as an input parameter. Also not all combinations were checked (`[inout]` was OK but `[outin]` wasn't although `[in,out]` and `[out,in]` were working in the tokenizer. Line up the detection of the direction between the tokenizer and the method `extractDirection` Note: this problem was found when working on #7879.
* | Better handling of \\ilinebrDimitri van Heesch2020-07-281-6/+9
|/ | | | | | | - Routines to strip leading and trailing whitespace now also take \\ilinebr into account - Added a number of cases in doctokenizer.l where \\ilinebr wasn't handled yet.
* Don't crash if output subdirectories already existtttapa2020-06-181-4/+8
| | | See doxygen/doxygen#7860
* Multi-threaded parsing: added locks around global dataDimitri van Heesch2020-06-171-18/+20
|
* Refactor: modernize markdown and make it thread-safeDimitri van Heesch2020-06-161-2/+4
|
* Incorrect label in map of dot files in xhtml (#7840)albert-github2020-06-131-0/+10
| | | | | | | When a filename of a file starts with a digit the mapping of the resulting dot files results in message like: ``` Syntax of value for attribute id of map is not valid ``` an id cannot start with a digit, so an "a" is placed in front of it (unconditionally to overcome problems with a double label id i.e filename 087.cpp and a087.cpp).
* Catch all wrong mkdir calls (coverity)albert-github2020-06-121-2/+8
| | | | | - Always catch the output of `mkdir` - corrected an incorrect message (context.cpp)
* Refactor: modernize configuration valuesDimitri van Heesch2020-06-041-31/+21
|
* Added experimental multi-thread input processing support.Dimitri van Heesch2020-05-311-4/+14
| | | | | This is disabled by default. It can be enabled by setting MULTITHREADED_INPUT to 1 in doxygen.h. Still has many data races, so don't use for anything other than development!
* Issue #7804 String double quotes in C get misinterpreted by pdflatexalbert-github2020-05-271-0/+1
| | | | The `"` quote is in some LaTeX language packages redefined to be used to create a umlaut / umlaut / tréma and in normal running text they have to replaced / escaped,