summaryrefslogtreecommitdiffstats
path: root/src/code.l
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Replaced FileNameDict/FileNameList by FileNameLinkedMapDimitri van Heesch2020-04-061-10/+9
|
* Fixed sig11 regression while parsing cast to function pointerDimitri van Heesch2020-03-111-4/+4
|
* Enabled stricter compiler warnings and fixed all new warningsDimitri van Heesch2020-03-081-18/+24
|
* Fix compiler warnings on Windows (Visual Studio)Dimitri van Heesch2020-02-121-0/+3
|
* Changed std::unique_ptr<Entry> to std::shared_ptr<Entry> at avoid use after ↵Dimitri van Heesch2019-12-081-0/+4
| | | | free issues
* Added missing debug flags for scanner that were made reentrantDimitri van Heesch2019-12-051-0/+3
|
* Split language parser into "outline parser" and "code parser"Dimitri van Heesch2019-12-031-8/+6
|
* Made scanner.l reentrantDimitri van Heesch2019-12-011-1/+1
|
* Made code.l scanner reentrantDimitri van Heesch2019-11-211-2515/+2637
|
* Remove bogus flex codeDimitri van Heesch2019-11-181-10/+0
|
* Replace set of g_inside* booleans with a single g_lang variableDimitri van Heesch2019-11-181-18/+10
|
* Spelling corrections for src directoryalbert-github2019-11-051-1/+1
| | | | | | | | Spelling corrections as found by codespell and in #561. Some reported problems were already fixed, others are fixed here, with some exceptions (a,o.): - "referenceby" in defgen.cpp as this is in the output and I cannot oversee the consequences (looks like none, but ...) - "HANGEUL_CHARSET" left as is as in some MS documentation is written: 'HANGUL_CHARSET: Also spelled "Hangeul". Specifies the Hangul Korean character set.' (https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-wmf/0d0b32ac-a836-4bd2-a112-b6000a1b4fc9).
* Changed implementation to use SkipString/SkipStringS.Dimitri van Heesch2019-11-021-6/+10
|
* Merge branch 'feature/bug_code_string' of ↵Dimitri van Heesch2019-11-021-0/+6
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_code_string
| * Code highlighting.albert-github2019-10-101-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case we have an example like (based on issue #7302): ``` /// @file /// Something template <char C> struct one { }; /// The struct single_009 the char struct single_009 : one<' '> { }; /// The struct single_010 the char struct single_039 : one<'\''> { }; /// The struct single_040 the char ( struct single_040 : one<'('> { }; /// The struct single_041 the char ) struct single_041 : one<')'> { }; /// The struct single_042 the char * struct single_042 : one<'*'> { }; struct single_058 : one<':'> { }; /// The struct single_059 the char ; struct single_059 : one<';'> { }; /// The struct single_060 the char < struct single_060 : one<'<'> { }; /// The struct single_061 the char = struct single_061 : one<'='> { }; /// The struct single_062 the char > struct single_062 : one<'>'> { }; /// The struct single_063 the char ? struct single_063 : one<'?'> { }; ``` The result is that in the code section there are no links to the structs 41, 61, 62 as the `(` and `<` block it till the corresponding `)` and `>` is found. Analogous problem for the double quote version.
* | Removed commented out lineDimitri van Heesch2019-11-011-1/+0
| |