Check cpp_header for C++/NDK

Unstructured parcelables should have cpp_header for compilation.

Bug: 194846019
Test: atest aidl_unittests
Change-Id: I76c56d3976272f4b401ddc9d8d54fa0e37527400
diff --git a/aidl_language.cpp b/aidl_language.cpp
index 7ea1bb8..76277fd 100644
--- a/aidl_language.cpp
+++ b/aidl_language.cpp
@@ -1215,27 +1215,8 @@
 }
 
 // TODO: we should treat every backend all the same in future.
-bool AidlParcelable::LanguageSpecificCheckValid(const AidlTypenames& /*typenames*/,
+bool AidlParcelable::LanguageSpecificCheckValid(const AidlTypenames& typenames,
                                                 Options::Language lang) const {
-  if (lang == Options::Language::CPP || lang == Options::Language::NDK) {
-    const AidlParcelable* unstructured_parcelable = this->AsUnstructuredParcelable();
-    if (unstructured_parcelable != nullptr) {
-      if (unstructured_parcelable->GetCppHeader().empty()) {
-        AIDL_ERROR(unstructured_parcelable)
-            << "Unstructured parcelable must have C++ header defined.";
-        return false;
-      }
-    }
-  }
-  return true;
-}
-
-// TODO: we should treat every backend all the same in future.
-bool AidlStructuredParcelable::LanguageSpecificCheckValid(const AidlTypenames& typenames,
-                                                          Options::Language lang) const {
-  if (!AidlParcelable::LanguageSpecificCheckValid(typenames, lang)) {
-    return false;
-  }
   for (const auto& v : this->GetFields()) {
     if (!v->GetType().LanguageSpecificCheckValid(typenames, lang)) {
       return false;
@@ -1400,20 +1381,6 @@
 }
 
 // TODO: we should treat every backend all the same in future.
-bool AidlUnionDecl::LanguageSpecificCheckValid(const AidlTypenames& typenames,
-                                               Options::Language lang) const {
-  if (!AidlParcelable::LanguageSpecificCheckValid(typenames, lang)) {
-    return false;
-  }
-  for (const auto& v : this->GetFields()) {
-    if (!v->GetType().LanguageSpecificCheckValid(typenames, lang)) {
-      return false;
-    }
-  }
-  return true;
-}
-
-// TODO: we should treat every backend all the same in future.
 bool AidlInterface::LanguageSpecificCheckValid(const AidlTypenames& typenames,
                                                Options::Language lang) const {
   for (const auto& m : this->GetMethods()) {