Unify Diagnostics interface
Use the same kind of interface for reporting preprocessor errors as
for reporting regular compiler errors, and make global errors like
having too many uniforms also go through Diagnostics. Also don't
create std::string objects unnecessarily.
Includes cleanups of some dead code related to reporting errors.
BUG=angleproject:1670
TEST=angle_unittests
Change-Id: I3ee794d32ddeec1826bdf1b76b558f35259f82c0
Reviewed-on: https://chromium-review.googlesource.com/421527
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/InfoSink.cpp b/src/compiler/translator/InfoSink.cpp
index b77f3a1..db26aa6 100644
--- a/src/compiler/translator/InfoSink.cpp
+++ b/src/compiler/translator/InfoSink.cpp
@@ -9,27 +9,16 @@
namespace sh
{
-void TInfoSinkBase::prefix(TPrefixType p)
+void TInfoSinkBase::prefix(Severity severity)
{
- switch (p)
+ switch (severity)
{
- case EPrefixNone:
- break;
- case EPrefixWarning:
+ case SH_WARNING:
sink.append("WARNING: ");
break;
- case EPrefixError:
+ case SH_ERROR:
sink.append("ERROR: ");
break;
- case EPrefixInternalError:
- sink.append("INTERNAL ERROR: ");
- break;
- case EPrefixUnimplemented:
- sink.append("UNIMPLEMENTED: ");
- break;
- case EPrefixNote:
- sink.append("NOTE: ");
- break;
default:
sink.append("UNKOWN ERROR: ");
break;
@@ -48,17 +37,4 @@
sink.append(stream.str());
}
-void TInfoSinkBase::location(const TSourceLoc &loc)
-{
- location(loc.first_file, loc.first_line);
-}
-
-void TInfoSinkBase::message(TPrefixType p, const TSourceLoc &loc, const char *m)
-{
- prefix(p);
- location(loc);
- sink.append(m);
- sink.append("\n");
-}
-
} // namespace sh