Switch to 'glr' skeleton parser, better diagnostics through location tracking.
Change-Id: I34f510f3bf8d1e6da06de350456bd2804ca236db
Bug: 28679009
diff --git a/Scope.cpp b/Scope.cpp
index e872cbf..8b6385a 100644
--- a/Scope.cpp
+++ b/Scope.cpp
@@ -9,12 +9,12 @@
Scope::Scope() {}
-bool Scope::addType(const char *localName, NamedType *type) {
+bool Scope::addType(
+ const char *localName, NamedType *type, std::string *errorMsg) {
if (mTypeIndexByName.indexOfKey(localName) >= 0) {
- fprintf(stderr,
- "ERROR: A type named '%s' is already declared in the current "
- "scope.\n",
- localName);
+ *errorMsg = "A type named '";
+ (*errorMsg) += localName;
+ (*errorMsg) += "' is already declared in the current scope.";
return false;
}