diff options
author | albert-github <albert.tests@gmail.com> | 2014-03-09 17:57:12 (GMT) |
---|---|---|
committer | albert-github <albert.tests@gmail.com> | 2014-03-09 17:57:12 (GMT) |
commit | 2dec1060623165057628ee678eb3580351922408 (patch) | |
tree | 24f78a22f5220010d75f86a6f6702996b7d1fb0a /src/fortranscanner.h | |
parent | 8eeaae0b06fd320745f22efe176e0f19d6c8e2a6 (diff) | |
download | Doxygen-2dec1060623165057628ee678eb3580351922408.zip Doxygen-2dec1060623165057628ee678eb3580351922408.tar.gz Doxygen-2dec1060623165057628ee678eb3580351922408.tar.bz2 |
Bug 625601 - FORTRAN: recognition free versus fixed formatted code
The recognition of the type (free or fixed) of Fortran code is not reliable possible. A well known possibility as used with compilers as well is to specify the type of code by means of the extension.
With EXTENSION_MAPPING it is possible to select the type of Fortran code, when not explicitly set doxygen tries to guess the type of Fortran code.
Diffstat (limited to 'src/fortranscanner.h')
-rw-r--r-- | src/fortranscanner.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/fortranscanner.h b/src/fortranscanner.h index a504abc..ec0d312 100644 --- a/src/fortranscanner.h +++ b/src/fortranscanner.h @@ -19,6 +19,7 @@ #define SCANNER_FORTRAN_H #include "parserintf.h" +#include "util.h" /** \brief Fortran language parser using state-based lexical scanning. * @@ -27,9 +28,10 @@ class FortranLanguageScanner : public ParserInterface { public: - virtual ~FortranLanguageScanner() {} + FortranLanguageScanner(void) { codeType = FORTRAN_UNKNOWN;} + virtual ~FortranLanguageScanner(void) {} void startTranslationUnit(const char *) {} - void finishTranslationUnit() {} + void finishTranslationUnit(void) {} void parseInput(const char *fileName, const char *fileBuf, Entry *root, @@ -51,8 +53,22 @@ class FortranLanguageScanner : public ParserInterface Definition *searchCtx=0, bool collectXRefs=TRUE ); - void resetCodeParserState(); + void resetCodeParserState(void); void parsePrototype(const char *text); + + FortranKind codeType; +}; + +class FortranLanguageScannerFree : public FortranLanguageScanner +{ + public: + FortranLanguageScannerFree(void) { codeType = FORTRAN_FREE; } +}; + +class FortranLanguageScannerFixed : public FortranLanguageScanner +{ + public: + FortranLanguageScannerFixed(void) { codeType = FORTRAN_FIXED; } }; #endif |