diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2014-08-04 12:07:53 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2014-08-04 12:07:53 (GMT) |
commit | 0dd59398b3f62288897c8c3405977a27a94fbfee (patch) | |
tree | 233682549d60a88b9c4dd8b7c58bd01e3504d716 /src/fileparser.cpp | |
parent | 6f0269ef3074bbc4bc16ad63a0e0a8f9b5f0ce31 (diff) | |
download | Doxygen-0dd59398b3f62288897c8c3405977a27a94fbfee.zip Doxygen-0dd59398b3f62288897c8c3405977a27a94fbfee.tar.gz Doxygen-0dd59398b3f62288897c8c3405977a27a94fbfee.tar.bz2 |
Bug 734099 - Add support for non-parsed language
Diffstat (limited to 'src/fileparser.cpp')
-rw-r--r-- | src/fileparser.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/fileparser.cpp b/src/fileparser.cpp new file mode 100644 index 0000000..31434a8 --- /dev/null +++ b/src/fileparser.cpp @@ -0,0 +1,51 @@ +/****************************************************************************** + * + * Copyright (C) 1997-2014 by Dimitri van Heesch. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software + * for any purpose. It is provided "as is" without express or implied warranty. + * See the GNU General Public License for more details. + * + * Documents produced by Doxygen are derivative works derived from the + * input used in their production; they are not affected by this license. + * + */ + +#include "fileparser.h" +#include "outputgen.h" + +void FileParser::parseCode(CodeOutputInterface &codeOutIntf, + const char *, // scopeName + const QCString & input, + SrcLangExt, // lang + bool, // isExampleBlock + const char *, // exampleName + FileDef *, // fileDef + int startLine, + int endLine, + bool, // inlineFragment + MemberDef *, // memberDef + bool showLineNumbers, + Definition *, // searchCtx, + bool // collectXRefs + ) +{ + int lineNr = startLine!=-1 ? startLine : 1; + int length = input.length(); + int i=0; + while (i<length && (endLine==-1 || lineNr<=endLine)) + { + int j=i; + while (j<length && input[j]!='\n') j++; + QCString lineStr = input.mid(i,j-i); + codeOutIntf.startCodeLine(showLineNumbers); + if (showLineNumbers) codeOutIntf.writeLineNumber(0,0,0,lineNr); + codeOutIntf.codify(lineStr); + codeOutIntf.endCodeLine(); + lineNr++; + i=j+1; + } +} + |