Forbid RS objects from being contained in unions.

This change also refactors variable validation in general for RS.
BUG=4283858

Change-Id: I4527986a07c9cf2babdc5b855cdb1f00e3535d5b
diff --git a/slang_rs_export_element.cpp b/slang_rs_export_element.cpp
index 1ebc655..2d83652 100644
--- a/slang_rs_export_element.cpp
+++ b/slang_rs_export_element.cpp
@@ -70,7 +70,8 @@
 
   slangAssert(EI != NULL && "Element info not found");
 
-  if (!RSExportType::NormalizeType(T, TypeName, NULL, NULL, NULL))
+  if (!RSExportType::NormalizeType(T, TypeName, Context->getDiagnostics(),
+                                   NULL))
     return NULL;
 
   switch (T->getTypeClass()) {