Fix for UBSan build
[platform/upstream/doxygen.git] / src / tclscanner.h
1 /******************************************************************************
2  *
3  * 
4  *
5  * Copyright (C) 1997-2012 by Dimitri van Heesch.
6  * Copyright (C) 2010-2011 by Rene Zaumseil
7  *
8  * Permission to use, copy, modify, and distribute this software and its
9  * documentation under the terms of the GNU General Public License is hereby 
10  * granted. No representations are made about the suitability of this software 
11  * for any purpose. It is provided "as is" without express or implied warranty.
12  * See the GNU General Public License for more details.
13  *
14  * Documents produced by Doxygen are derivative works derived from the
15  * input used in their production; they are not affected by this license.
16  *
17  */
18
19 #ifndef SCANNER_TCL_H
20 #define SCANNER_TCL_H
21
22 #include "parserintf.h"
23
24 /** \brief Tcl language parser using state-based lexical scanning.
25  *
26  *  This is the Tcl language parser for doxygen.
27  */
28 class TclLanguageScanner : public ParserInterface
29 {
30   public:
31     virtual ~TclLanguageScanner() {}
32     void parseInput(const char *fileName,
33                     const char *fileBuf,
34                     Entry *root);
35     bool needsPreprocessing(const QCString &extension);
36     void parseCode(CodeOutputInterface &codeOutIntf,
37                    const char *scopeName,
38                    const QCString &input,
39                    bool isExampleBlock,
40                    const char *exampleName=0,
41                    FileDef *fileDef=0,
42                    int startLine=-1,
43                    int endLine=-1,
44                    bool inlineFragment=FALSE,
45                    MemberDef *memberDef=0,
46                    bool showLineNumbers=TRUE,
47                    Definition *searchCtx=0
48                   );
49     void resetCodeParserState();
50     void parsePrototype(const char *text);
51 };
52
53 #endif