IBase::getReferenceInfo -> getDebugInfo

getDebugInfo is a more generalized name. Also, references
are not queryed from the server process, but rather only
pids and pointers to the server stub object is returned,
so that lshal can query from /d/binder/proc/{pid}.

Bug: 34777099
Bug: 34861460

Test: lshal
Test: NFC / light / audio with and without persistent.hal.binderized;
      run lshal to reflect this.

Change-Id: I3052fe67074c856eb2f56c3948ba078a00d04c52
diff --git a/generateCpp.cpp b/generateCpp.cpp
index ae93e24..1a2b45b 100644
--- a/generateCpp.cpp
+++ b/generateCpp.cpp
@@ -827,11 +827,7 @@
                 << "::" << method->name() << "_cb;\n";
         }
         method->generateCppSignature(out);
-        out << " ";
-        out.block([&] {
-            method->cppImpl(IMPL_STUB_IMPL, out);
-            out << "\n";
-        }).endl();
+        out << ";\n";
         return OK;
     });
     if (err != OK) {
@@ -1431,6 +1427,17 @@
         out << "}\n\n";
     }
 
+    status_t err = generateMethods(out, [&](const Method *method, const Interface *) {
+        if (!method->isHidlReserved() || !method->overridesCppImpl(IMPL_STUB_IMPL)) {
+            return OK;
+        }
+        method->generateCppSignature(out, iface->getStubName());
+        out << " ";
+        out.block([&] {
+            method->cppImpl(IMPL_STUB_IMPL, out);
+        }).endl();
+        return OK;
+    });
 
     out << "::android::status_t " << klassName << "::onTransact(\n";