Doxygen
|
#include <src/code.h>
Classes | |
struct | Private |
Public Member Functions | |
CCodeParser () | |
~CCodeParser () override | |
void | parseCode (OutputCodeList &codeOutIntf, const QCString &scopeName, const QCString &input, SrcLangExt lang, bool stripCodeComments, bool isExampleBlock, const QCString &exampleName=QCString(), const FileDef *fileDef=nullptr, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, const MemberDef *memberDef=nullptr, bool showLineNumbers=TRUE, const Definition *searchCtx=nullptr, bool collectXRefs=TRUE) override |
Parses a source file or fragment with the goal to produce highlighted and cross-referenced output. | |
void | resetCodeParserState () override |
Resets the state of the code parser. | |
void | setInsideCodeLine (bool inp) |
bool | insideCodeLine () const |
Public Member Functions inherited from CodeParserInterface |
Private Attributes | |
std::unique_ptr< Private > | p |
CCodeParser::CCodeParser | ( | ) |
Definition at line 4045 of file code.l.
References CCodeParser(), Debug::isFlagSet(), Debug::Lex_code, p, and resetCodeParserState().
Referenced by CCodeParser().
|
override |
bool CCodeParser::insideCodeLine | ( | ) | const |
|
overridevirtual |
Parses a source file or fragment with the goal to produce highlighted and cross-referenced output.
[in] | codeOutList | interface for writing the result. |
[in] | scopeName | Name of scope to which the code belongs. |
[in] | input | Actual code in the form of a string |
[in] | lang | The programming language of the code fragment. |
[in] | stripCodeComments | signals whether or not for the code block the doxygen comments should be stripped. |
[in] | isExampleBlock | TRUE iff the code is part of an example. |
[in] | exampleName | Name of the example. |
[in] | fileDef | File definition to which the code is associated. |
[in] | startLine | Starting line in case of a code fragment. |
[in] | endLine | Ending line of the code fragment. |
[in] | inlineFragment | Code fragment that is to be shown inline as part of the documentation. |
[in] | memberDef | Member definition to which the code is associated (non null in case of an inline fragment for a member). |
[in] | showLineNumbers | if set to TRUE and also fileDef is not 0, line numbers will be added to the source fragment |
[in] | searchCtx | context under which search data has to be stored. |
[in] | collectXRefs | collect cross-reference relations. |
Implements CodeParserInterface.
Definition at line 4083 of file code.l.
References FileDef::absFilePath(), Config_getBool, convertNameToFile(), countLines(), createFileDef(), QCString::data(), DBG_CTX, endCodeLine(), FALSE, FileDef::fileName(), getResolvedNamespace(), QCString::isEmpty(), Debug::Lex_code, Definition::name(), ObjC, p, qPrint(), setCurrentDoc(), setParameterList(), startCodeLine(), OutputCodeList::stripCodeComments(), and TRUE.
|
overridevirtual |
Resets the state of the code parser.
Since multiple code fragments can together form a single example, an explicit function is used to reset the code parser state.
Implements CodeParserInterface.
Definition at line 4059 of file code.l.
Referenced by CCodeParser().
void CCodeParser::setInsideCodeLine | ( | bool | inp | ) |
|
private |
Definition at line 56 of file code.h.
Referenced by CCodeParser(), insideCodeLine(), parseCode(), resetCodeParserState(), setInsideCodeLine(), and ~CCodeParser().