summaryrefslogtreecommitdiffstats
path: root/src/code.l
Commit message (Collapse)AuthorAgeFilesLines
* Refactoring: Add TextStream buffer to improve output writing performanceDimitri van Heesch2021-03-281-2/+1
| | | | | - direct use of std::stringstream and std::ostream gave a 30% drop in performance.
* Refactoring: replace QGString by std::ostringstreamDimitri van Heesch2021-03-231-8/+11
|
* Refactoring: Replaced QDir with DirDimitri van Heesch2021-03-181-8/+6
| | | | | - Dir is based on ghc::filesystem, a std::filesystem compatible implementation that does not require C++17.
* Merge branch 'master' into feature/bug_lexDimitri van Heesch2021-03-031-103/+99
|\
| * Refactoring: replace QRegExp by std::regex in docparser.cppDimitri van Heesch2021-02-201-1/+0
| |
| * code.l: replace printf with DBG_CTX for easily toggling it.Guangwang Huang2021-02-091-97/+97
| |
| * issue #8011: No callgraph if having more than one 'using namespace's.Guangwang Huang2021-02-091-4/+2
| |
* | Adding support for lex filesalbert-github2021-02-181-32/+47
| | | | | | | | | | - Correct handling of C comment start and end tokens as well as Cpp comment start in rules. These tokes can give "Reached end of file while still inside a (nested) comment..." - Correct other warnings in respect to lex files
* | Adding support for lex filesalbert-github2021-02-121-1/+13
|/ | | | | | Adding support for lex. The lex files consist of a mixture of lex specific structures, that are handled in the the lexcode.l and lexscanner.l, abd C code that is handled by the C parsers (hence the rules used are partly copied from scanner.l). Special attention has been paid to memberdef.cpp as the initial values should not be handled by the lex parsers but by the C parsers.
* Refactoring: modernize MemberListDimitri van Heesch2021-01-221-1/+1
|
* issue #8338 \until and \skipline don't hide doxygen comments like \skip doesalbert-github2021-01-161-8/+3
| | | | The last line doesn't necessary contain the newline character, but the rule required it. The newline character will be handled, correctly, separately.
* Various fixes based on coverity scan resultsDimitri van Heesch2021-01-051-1/+0
|
* Refactoring: replace MemberSDict by MemberLinkedRefMapDimitri van Heesch2021-01-041-6/+6
|
* Refactoring: replace NamespaceSDict by NamespaceLinkedMapDimitri van Heesch2020-12-231-1/+1
|
* Protect mutable access to members in code generators with mutexesDimitri van Heesch2020-11-281-0/+6
|
* Issue #8206: Incorrect XHTML resultsDimitri van Heesch2020-11-271-3/+2
| | | | | | | | | | | | Changes: - Change TooltipManager back into a singleton - Give the OutputList object a unique output id - Increment the id at each startFile() atomically - Pass the id to the HTML code generator - Store tooltips per output id. - Keep track of tooltips that are already written for a given id - for output formats other than HTML the output id is 0 and tooltips are not collected and written
* Refactoring: replacing dynamic_cast by static_cast to improve performanceDimitri van Heesch2020-11-131-20/+20
|
* Refactoring: Introduce immutable and mutable interfacesDimitri van Heesch2020-11-091-55/+33
| | | | | | 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.
* Merge branch 'symbolresolver'Dimitri van Heesch2020-10-281-20/+20
|\
| * Refactoring: introduce SymbolResolver to group symbol lookup routinesDimitri van Heesch2020-10-281-20/+20
| | | | | | | | - Main goal was to avoid use of global state.
* | Remove warnings from lexersalbert-github2020-10-201-1/+1
|/ | | | | | | | Remove warnings (Windows 64 bit compilation) like: ``` warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data ``` from the different lexers by making use of more consistent data types.
* Refactoring: modernize TooltipManager class and source reference listsDimitri van Heesch2020-10-201-5/+11
| | | | | - Tooltips are now collected per file instead of globally - Source reference lists now use STL containers
* issue #8102 [C++] Reference relations are not generated for constructors ↵Dimitri van Heesch2020-10-151-0/+8
| | | | using list initialization
* Refactoring: Modernize BaseClassListDimitri van Heesch2020-10-121-12/+6
|
* Refactoring: Remove use of globals/statics in isAccessibleFrom*Dimitri van Heesch2020-10-111-2/+3
| | | | - Also moved AccessStack to util.h and modernized it.
* Refactoring: Introduce ScopedTypeVariantDimitri van Heesch2020-10-101-276/+117
| | | | | | - Avoid creating new symbol definitions while generating syntax highlighted code. - Add some locking around shared data collection (search index & tooltips) to support concurrent processing - Unify some code that was duplicated in code.l and pycode.l
* Refactoring: replaced QCache by STL based LRU cache implementation.Dimitri van Heesch2020-09-201-1938/+1938
| | | | | Also prepared some code for multi-threaded use, and Removed tabs and trailing spaces for code.l
* Refactoring: making fortrancode.l reentrantDimitri van Heesch2020-09-101-1/+0
|
* Refactoring: making pycode.l reentrantDimitri van Heesch2020-09-061-24/+17
|
* Compilation fixes for code.l (part 4)Dimitri van Heesch2020-09-061-1/+1
|
* Compilation fixes for code.l (part 3)Dimitri van Heesch2020-09-051-4/+3
|
* Compilation fixed for code.l (part 2)Dimitri van Heesch2020-09-051-3/+3
|
* Compilation fixes for code.lDimitri van Heesch2020-09-051-6/+7
|
* Refactoring: modernised the remaining containers in code.lDimitri van Heesch2020-09-051-125/+106
|
* Refactoring: replaced QStack by std::stack for scopeStackDimitri van Heesch2020-09-051-31/+37
|
* Refactoring: replaced codeClassSDict by codeClassMap in code.lDimitri van Heesch2020-09-041-47/+75
|
* issue #7995: Doxygen doesn't handle very simple example in the .md fileDimitri van Heesch2020-09-011-0/+4
|
* Fixed line number counting issue with test case cc.hDimitri van Heesch2020-08-291-4/+4
|
* Merge branch 'feature/issue_7872' of ↵Dimitri van Heesch2020-08-291-11/+22
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/issue_7872
| * issue #7872 A define containing a doxygen start of comment breaks the parseralbert-github2020-06-261-11/+22
| | | | | | | | Not only the preprocessor suffered from the "problem" but also the source code (e.g. with `SOURCE_BROWSER`) gave some strange / missing results.
* | Marked the section with definitions regarding numbers more clearlyDimitri van Heesch2020-08-241-1/+3
| |
* | Merge branch 'feature/bug_786382' of ↵Dimitri van Heesch2020-08-241-0/+30
|\ \ | | | | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_786382
| * | bug_786382 Unmatched single quote in C++ source breaks aliasesalbert-github2020-08-241-0/+30
| | | | | | | | | | | | | | | | | | | | | Based on the definition in the (informative) Annex A of the C++ draft 2020 standard (N4849, part [gram.lex]), the definitions have been made for the lexer. Now integer and floating point constants wit a single quote are seen as numbers and not as part of character constants. (also tested on CGAL)
* | | Refactoring: OutputList & OutputGenDimitri van Heesch2020-08-241-0/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | - Initialized member variables inside the class - Added copy & assign operators for OutputGenerator and Derived classes. - throw a runtime exception when OutputGenerator is copied while is file is still in progress. - Added clone method to make a copy of OutputList. - Moved the implementation of enable() & disable() and friend into OutputGen instead of having the same implementation in each derived class. - Made m_dir and m_fileName readonly (members dir() and fileName()) - Removed call to new while adding generators to OutputList - Replaced QStack by std::stack for the "enabled" state.
* | issue #7973: C++ grouped functions in namespace have disapeardDimitri van Heesch2020-08-241-1/+1
|/ | | | | - reverted some of the change that introduced the problem - fixed the original problem (#7216) in a different way
* issue #7747 Three-way comparison operatoralbert-github2020-05-041-1/+1
| | | | Implementation of the C++2x three-way / spaceship operator.
* Undefined control sequence for formula using MathJax (#7712)albert-github2020-04-251-0/+3
| | | | | | | | | | | | | | | | | When having a code comment like: ``` @code sub postprocess { s/\(?\@xref\{(?:[^\}]*)\}(?:[^.<]|(?:<[^<>]*>))*\.\)?//g; s/\s+\(\@pxref\{(?:[^\}]*)\}\)//g; } @endcode ``` and using MathJax the `/(` is seen as a the beginning of a formula, but should be seen as text and can now lead to "Undefined control sequence". (The problem comes originally from code as generated by the doxygen-perl-filter for converting perl code in something doxygen does understand). This problem is similar to the problems solved in pull request #7697, but not handled here. This pull request will see `\(` (and its counter part `\)` as complete entities and replace them in a similar way as done in #7697 (but now in an earlier stage but the `&zwj;` will be properly filtered in the different output formats.
* Fixed shadowing issue in getFortranDefs and other shadowing casesDimitri van Heesch2020-04-091-2/+2
|
* Replaced MemberNameSDict by MemberNameLinkedMap based on LinkedMapDimitri van Heesch2020-04-081-24/+16
|
* Added missing #includesDimitri van Heesch2020-04-061-0/+4
|