From e434b519145b5a821734619a765b97dfe3cad0d2 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@Germany>
Date: Wed, 16 Dec 2009 08:55:04 +0100
Subject: [PATCH] Add namespace qualifier to WarningIn, FatalErrorIn, etc.
 macros.

- Previously had just 'Warning' instead of '::Foam::Warning', which
  meant that an identically named class method would inadvertently be
  used - resulting in a compile failure.
---
 .../dictionary/calcEntry/CocoParserErrors.H   |  4 -
 .../test/dictionary/calcEntry/calcEntry.H     |  2 +-
 src/OpenFOAM/db/error/StaticAssert.H          |  6 +-
 src/OpenFOAM/db/error/error.H                 | 89 ++++++++++-------
 src/OpenFOAM/db/error/errorManip.H            | 19 ++--
 src/OpenFOAM/db/error/messageStream.H         | 96 ++++++++++++++-----
 6 files changed, 144 insertions(+), 72 deletions(-)

diff --git a/applications/test/dictionary/calcEntry/CocoParserErrors.H b/applications/test/dictionary/calcEntry/CocoParserErrors.H
index e4c819e3024..21f574592db 100644
--- a/applications/test/dictionary/calcEntry/CocoParserErrors.H
+++ b/applications/test/dictionary/calcEntry/CocoParserErrors.H
@@ -36,10 +36,6 @@ Description
 #include "error.H"
 #include "wchar.H"
 
-// avoid confusion about which Warning is meant
-#undef  WarningIn
-#define WarningIn(fn) Foam::Warning(fn, __FILE__, __LINE__)
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
diff --git a/applications/test/dictionary/calcEntry/calcEntry.H b/applications/test/dictionary/calcEntry/calcEntry.H
index 4f579bd4f29..027c4b510b7 100644
--- a/applications/test/dictionary/calcEntry/calcEntry.H
+++ b/applications/test/dictionary/calcEntry/calcEntry.H
@@ -66,7 +66,7 @@ class calcEntry
 public:
 
     //- Runtime type information
-    ClassName("test");
+    ClassName("calc");
 
 
     // Member Functions
diff --git a/src/OpenFOAM/db/error/StaticAssert.H b/src/OpenFOAM/db/error/StaticAssert.H
index 93b19689523..5a0ba87eba0 100644
--- a/src/OpenFOAM/db/error/StaticAssert.H
+++ b/src/OpenFOAM/db/error/StaticAssert.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2008-2009 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,7 +57,9 @@ class StaticAssertionFailed<true>
 template<unsigned Test>
 class StaticAssertionTest {};
 
-}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/db/error/error.H b/src/OpenFOAM/db/error/error.H
index 639bd933c6e..49dcfc0380b 100644
--- a/src/OpenFOAM/db/error/error.H
+++ b/src/OpenFOAM/db/error/error.H
@@ -62,7 +62,7 @@ Ostream& operator<<(Ostream&, const error&);
 
 
 /*---------------------------------------------------------------------------*\
-                           Class error Declaration
+                            Class error Declaration
 \*---------------------------------------------------------------------------*/
 
 class error
@@ -92,10 +92,10 @@ public:
         error(const string& title);
 
         //- Construct from dictionary
-        error(const dictionary& errDict);
+        error(const dictionary&);
 
         //- Construct as copy
-        error(const error& err);
+        error(const error&);
 
 
     // Destructor
@@ -132,8 +132,8 @@ public:
             throwExceptions_ = false;
         }
 
-        //- Convert to Ostream
-        //  Prints basic message and then returns Ostream for further info.
+        //- Convert to OSstream
+        //  Prints basic message and returns OSstream for further info.
         OSstream& operator()
         (
             const char* functionName,
@@ -141,6 +141,8 @@ public:
             const int sourceFileLineNumber = 0
         );
 
+        //- Convert to OSstream
+        //  Prints basic message and returns OSstream for further info.
         OSstream& operator()
         (
             const string& functionName,
@@ -148,11 +150,11 @@ public:
             const int sourceFileLineNumber = 0
         );
 
-        //- Convert to Ostream
-        //  Prints basic message and then returns Ostream for further info.
+        //- Convert to OSstream
+        //  Prints basic message and returns OSstream for further info.
         operator OSstream&();
 
-        //- Explicitly convert to Ostream for << operations
+        //- Explicitly convert to OSstream for << operations
         OSstream& operator()()
         {
             return operator OSstream&();
@@ -163,14 +165,14 @@ public:
 
 
         //- Helper function to print a stack
-        static void printStack(Ostream& os);
+        static void printStack(Ostream&);
 
-        //- Exit : can be called for any error to exit program. Prints stack
-        //  before exiting.
+        //- Exit : can be called for any error to exit program.
+        //  Prints stack before exiting.
         void exit(const int errNo = 1);
 
-        //- Abort : used to stop code for fatal errors. Prints stack before
-        //  exiting.
+        //- Abort : used to stop code for fatal errors.
+        //  Prints stack before exiting.
         void abort();
 
 
@@ -181,9 +183,7 @@ public:
 
 
 // Forward declaration of friend functions and operators
-
 class IOerror;
-
 Ostream& operator<<(Ostream&, const IOerror&);
 
 
@@ -211,7 +211,7 @@ public:
         IOerror(const string& title);
 
         //- Construct from dictionary
-        IOerror(const dictionary& errDict);
+        IOerror(const dictionary&);
 
 
     // Destructor
@@ -236,8 +236,8 @@ public:
             return ioEndLineNumber_;
         }
 
-        //- Convert to Ostream
-        //  Prints basic message and then returns Ostream for further info.
+        //- Convert to OSstream
+        //  Prints basic message and returns OSstream for further info.
         OSstream& operator()
         (
             const char* functionName,
@@ -248,8 +248,8 @@ public:
             const label ioEndLineNumber = -1
         );
 
-        //- Convert to Ostream
-        //  Prints basic message and then returns Ostream for further info.
+        //- Convert to OSstream
+        //  Prints basic message and returns OSstream for further info.
         OSstream& operator()
         (
             const char* functionName,
@@ -258,8 +258,8 @@ public:
             const IOstream&
         );
 
-        //- Convert to Ostream
-        //  Prints basic message and then returns Ostream for further info.
+        //- Convert to OSstream
+        //  Prints basic message and returns OSstream for further info.
         OSstream& operator()
         (
             const char* functionName,
@@ -288,23 +288,46 @@ public:
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 // Global error declarations: defined in error.C
 
-extern error FatalError;
+extern error   FatalError;
 extern IOerror FatalIOError;
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-// Convienient macros to add the file name and line number to the function name
 
-#define FatalErrorIn(fn) FatalError(fn, __FILE__, __LINE__)
-#define FatalIOErrorIn(fn, ios) FatalIOError(fn, __FILE__, __LINE__, ios)
-
-// Call for functions which are not currently implemented.
-// The functionName is printed and then abort is called.
-#define notImplemented(fn) \
-    FatalErrorIn(fn) << "Not implemented" << Foam::abort(FatalError);
+} // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
+// Convenience macros to add the file name and line number to the function name
+
+/**
+ * @def FatalErrorIn(functionName)
+ * Report an error message using Foam::FatalError for functionName in
+ * file __FILE__ at line __LINE__
+*/
+#define FatalErrorIn(fn) \
+    ::Foam::FatalError((fn), __FILE__, __LINE__)
+
+/**
+ * @def FatalIOErrorIn(functionName, ios)
+ * Report an error message using Foam::FatalIOError for functionName in
+ * file __FILE__ at line __LINE__
+ * for a particular IOstream
+*/
+#define FatalIOErrorIn(fn, ios) \
+    ::Foam::FatalIOError((fn), __FILE__, __LINE__, (ios))
+
+/**
+ * @def notImplemented(functionName)
+ * Issue a FatalErrorIn for the functionName.
+ * This is used for functions that are not currently implemented.
+ * The functionName is printed and then abort is called.
+ *
+ * @note
+ * This macro can be particularly useful when methods must be defined to
+ * complete the interface of a derived class even if they should never be
+ * called for this derived class.
+*/
+#define notImplemented(fn) \
+    FatalErrorIn(fn) << "Not implemented" << ::Foam::abort(FatalError);
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/db/error/errorManip.H b/src/OpenFOAM/db/error/errorManip.H
index a3989e629df..1c4004a78e7 100644
--- a/src/OpenFOAM/db/error/errorManip.H
+++ b/src/OpenFOAM/db/error/errorManip.H
@@ -49,7 +49,6 @@ namespace Foam
 {
 
 // Forward declaration of friend functions and operators
-
 template<class Err> class errorManip;
 template<class Err> Ostream& operator<<(Ostream&, errorManip<Err>);
 
@@ -59,7 +58,7 @@ Ostream& operator<<(Ostream&, errorManipArg<Err, T>);
 
 
 /*---------------------------------------------------------------------------*\
-                           Class errorManip Declaration
+                         Class errorManip Declaration
 \*---------------------------------------------------------------------------*/
 
 template<class Err>
@@ -89,7 +88,7 @@ inline Ostream& operator<<(Ostream& os, errorManip<Err> m)
 
 
 /*---------------------------------------------------------------------------*\
-                           Class errorManipArg Declaration
+                        Class errorManipArg Declaration
 \*---------------------------------------------------------------------------*/
 
 //- errorManipArg
@@ -123,23 +122,29 @@ inline Ostream& operator<<(Ostream& os, errorManipArg<Err, T> m)
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-inline errorManipArg<error, int> exit(error& err, const int errNo = 1)
+inline errorManipArg<error, int>
+exit(error& err, const int errNo = 1)
 {
     return errorManipArg<error, int>(&error::exit, err, errNo);
 }
 
-inline errorManip<error> abort(error& err)
+
+inline errorManip<error>
+abort(error& err)
 {
     return errorManip<error>(&error::abort, err);
 }
 
 
-inline errorManipArg<IOerror, int> exit(IOerror& err, const int errNo = 1)
+inline errorManipArg<IOerror, int>
+exit(IOerror& err, const int errNo = 1)
 {
     return errorManipArg<IOerror, int>(&IOerror::exit, err, errNo);
 }
 
-inline errorManip<IOerror> abort(IOerror& err)
+
+inline errorManip<IOerror>
+abort(IOerror& err)
 {
     return errorManip<IOerror>(&IOerror::abort, err);
 }
diff --git a/src/OpenFOAM/db/error/messageStream.H b/src/OpenFOAM/db/error/messageStream.H
index d37f6a010c7..06abf18aed1 100644
--- a/src/OpenFOAM/db/error/messageStream.H
+++ b/src/OpenFOAM/db/error/messageStream.H
@@ -36,7 +36,8 @@ Description
 
 Usage
     @code
-        messageStream << "message1" << "message2" << FoamDataType << endl;
+        messageStream
+            << "message1" << "message2" << FoamDataType << endl;
     @endcode
 
 SourceFiles
@@ -55,6 +56,7 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of classes
 class IOstream;
 class Ostream;
 class OSstream;
@@ -103,13 +105,13 @@ public:
         messageStream
         (
             const string& title,
-            errorSeverity sev,
+            errorSeverity,
             const int maxErrors = 0
         );
 
 
         //- Construct from dictionary
-        messageStream(const dictionary& dict);
+        messageStream(const dictionary&);
 
 
     // Member functions
@@ -133,8 +135,8 @@ public:
             return maxErrors_;
         }
 
-        //- Convert to Ostream
-        //  Prints basic message and then returns Ostream for further info.
+        //- Convert to OSstream
+        //  Prints basic message and returns OSstream for further info.
         OSstream& operator()
         (
             const char* functionName,
@@ -142,6 +144,8 @@ public:
             const int sourceFileLineNumber = 0
         );
 
+        //- Convert to OSstream
+        //  Prints basic message and returns OSstream for further info.
         OSstream& operator()
         (
             const string& functionName,
@@ -149,8 +153,8 @@ public:
             const int sourceFileLineNumber = 0
         );
 
-        //- Convert to Ostream
-        //  Prints basic message and then returns Ostream for further info.
+        //- Convert to OSstream
+        //  Prints basic message and returns OSstream for further info.
         OSstream& operator()
         (
             const char* functionName,
@@ -161,8 +165,8 @@ public:
             const label ioEndLineNumber = -1
         );
 
-        //- Convert to Ostream
-        //  Prints basic message and then returns Ostream for further info.
+        //- Convert to OSstream
+        //  Prints basic message and returns OSstream for further info.
         OSstream& operator()
         (
             const char* functionName,
@@ -171,8 +175,8 @@ public:
             const IOstream&
         );
 
-        //- Convert to Ostream
-        //  Prints basic message and then returns Ostream for further info.
+        //- Convert to OSstream
+        //  Prints basic message and returns OSstream for further info.
         OSstream& operator()
         (
             const char* functionName,
@@ -181,10 +185,10 @@ public:
             const dictionary&
         );
 
-        //- Convert to Ostream for << operations
+        //- Convert to OSstream for << operations
         operator OSstream&();
 
-        //- Explicitly convert to Ostream for << operations
+        //- Explicitly convert to OSstream for << operations
         OSstream& operator()()
         {
             return operator OSstream&();
@@ -199,18 +203,6 @@ extern messageStream SeriousError;
 extern messageStream Warning;
 extern messageStream Info;
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-// Convienient macros to add the file name and line number to the function name
-
-#define SeriousErrorIn(fn) SeriousError(fn, __FILE__, __LINE__)
-#define SeriousIOErrorIn(fn, ios) SeriousError(fn, __FILE__, __LINE__, ios)
-
-#define WarningIn(fn) Warning(fn, __FILE__, __LINE__)
-#define IOWarningIn(fn, ios) Warning(fn, __FILE__, __LINE__, ios)
-
-#define InfoIn(fn) Info(fn, __FILE__, __LINE__)
-#define IOInfoIn(fn, ios) Info(fn, __FILE__, __LINE__, ios)
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
@@ -219,6 +211,60 @@ extern messageStream Info;
 
 #include "OSstream.H"
 
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// Convenience macros to add the file name and line number to the function name
+
+/**
+ * @def SeriousErrorIn(functionName)
+ * Report an error message using Foam::SeriousError for functionName in
+ * file __FILE__ at line __LINE__
+*/
+#define SeriousErrorIn(fn) \
+    ::Foam::SeriousError((fn), __FILE__, __LINE__)
+
+/**
+ * @def SeriousIOErrorIn(functionName, ios)
+ * Report an IO error message using Foam::SeriousError for functionName in
+ * file __FILE__ at line __LINE__
+ * for a particular IOstream
+*/
+#define SeriousIOErrorIn(fn, ios) \
+    ::Foam::SeriousError((fn), __FILE__, __LINE__, ios)
+
+/**
+ * @def WarningIn(functionName)
+ * Report a warning using Foam::Warning for functionName in
+ * file __FILE__ at line __LINE__
+*/
+#define WarningIn(fn) \
+    ::Foam::Warning((fn), __FILE__, __LINE__)
+
+/**
+ * @def IOWarningIn(functionName, ios)
+ * Report an IO warning using Foam::Warning for functionName in
+ * file __FILE__ at line __LINE__
+ * for a particular IOstream
+*/
+#define IOWarningIn(fn, ios) \
+    ::Foam::Warning((fn), __FILE__, __LINE__, (ios))
+
+/**
+ * @def InfoIn(functionName)
+ * Report a information message using Foam::Info for functionName in
+ * file __FILE__ at line __LINE__
+*/
+#define InfoIn(fn) \
+    ::Foam::Info((fn), __FILE__, __LINE__)
+
+/**
+ * @def IOInfoIn(functionName, ios)
+ * Report an IO information message using Foam::Info for functionName in
+ * file __FILE__ at line __LINE__
+ * for a particular IOstream
+*/
+#define IOInfoIn(fn, ios) \
+    ::Foam::Info((fn), __FILE__, __LINE__, (ios))
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #endif
-- 
GitLab