summaryrefslogtreecommitdiffstats
path: root/src/code.l
Commit message (Collapse)AuthorAgeFilesLines
* Minor adaptations to avoid matching 'typedefinition' as a typedefDimitri van Heesch2021-04-291-2/+10
|
* Merge branch 'feature/bug_typedef_code' of ↵Dimitri van Heesch2021-04-291-0/+2
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_typedef_code
| * Incorrect code coloring of typedefalbert-github2021-01-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case we have `typedef ::my_type T2;` the code coloring should be: - typedef : keyword - ::my_type : link - T2 : link though we see: - typedef ::my_type : link - T2 : link this has been corrected. Found by means of issue #8350 Note there might be other cases with the same problem as well.
* | issue #8518 tag </programlisting> was inserted before </highlight> parsing ↵albert-github2021-04-291-4/+4
| | | | | | | | | | | | cpp file to xml The possible `\n` was not taken into account when codifying the line(s).
* | Fix issues caused by QCString::rawData and QCString::operator[]Dimitri van Heesch2021-04-261-5/+4
| | | | | | | | | | - methods were marked const but still returned a non-const reference, cause wrongly optimized code for some platforms/compilers
* | Refactoring: remove implicit conversion from QCString to const char *Dimitri van Heesch2021-04-221-373/+361
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the following in relation to string use - The implicit convert from 'QCString' to 'const char *' is removed - Strings parameters use 'const QCString &' as much as possible in favor over 'const char *' - 'if (s)' where s is a QCString has been replaced by 'if(!s.isEmpty())' - data() now always returns a valid C-string and not a 0-pointer. - when passing a string 's' to printf and related functions 'qPrint(s)' is used instead of 's.data()' - for empty string arguments 'QCString()' is used instead of '0' - The copy() operation has been removed - Where possible 'qstrcmp(a,b)==0' has been replaces by 'a==b' and 'qstrcmp(a,b)<0' has been replaced by 'a<b' - Parameters of string type that were default initialized with '= 0' are no initialized with '= QCString()'
* | issue #2732: Adding support for C++ concepts (Origin: bugzilla #499352)Dimitri van Heesch2021-04-081-26/+54
| |
* | 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)