Better diagnostics if an attempt is made to redeclare a type under the same name

as an existing type in that scope. Support for anonymous struct/unions.

Change-Id: I0122cfae4da848419956c7b27bacaca66f8021d5
Bug: 30896059
diff --git a/Scope.h b/Scope.h
index 0c3ca68..ad140ac 100644
--- a/Scope.h
+++ b/Scope.h
@@ -29,6 +29,8 @@
 
     bool containsSingleInterface(std::string *ifaceName) const;
 
+    std::string pickUniqueAnonymousName() const;
+
     std::string getJavaType() const override;
 
     status_t emitTypeDeclarations(Formatter &out) const override;