summaryrefslogtreecommitdiffstats
path: root/src/fortranscanner.h
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2014-03-09 17:57:12 (GMT)
committeralbert-github <albert.tests@gmail.com>2014-03-09 17:57:12 (GMT)
commit2dec1060623165057628ee678eb3580351922408 (patch)
tree24f78a22f5220010d75f86a6f6702996b7d1fb0a /src/fortranscanner.h
parent8eeaae0b06fd320745f22efe176e0f19d6c8e2a6 (diff)
downloadDoxygen-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.h22
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