diff options
author | Orion Hodson <oth@google.com> | 2021-03-08 10:41:41 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-03-08 10:41:41 +0000 |
commit | 7ed502db4bfa845685c809bf946610250be9722a (patch) | |
tree | 082af47e99da7b4d375a98151fb699b4908eb631 | |
parent | fcf13b67d15723b32da321df7d00128aa9781e5e (diff) | |
parent | 86d0caa848329e0467a31168cdd379c41b141297 (diff) | |
download | xsdc-7ed502db4bfa845685c809bf946610250be9722a.tar.gz |
xsdc: emit explicit single argument constructor decls am: dc83ae3433 am: fe3b6e5ca6 am: 86d0caa848
Original change: https://android-review.googlesource.com/c/platform/system/tools/xsdc/+/1622420
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I345cf7c4e96bb08d6ef69b08a410e07e9b63ac73
-rw-r--r-- | src/com/android/xsdc/cpp/CppCodeGenerator.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/android/xsdc/cpp/CppCodeGenerator.java b/src/com/android/xsdc/cpp/CppCodeGenerator.java index 561d3f5..432d510 100644 --- a/src/com/android/xsdc/cpp/CppCodeGenerator.java +++ b/src/com/android/xsdc/cpp/CppCodeGenerator.java @@ -734,7 +734,14 @@ public class CppCodeGenerator { if (constructorArgsString.length() > 0) { constructorArgsString = constructorArgsString.substring(2); } - parserHeaderFile.printf("%s(%s);\n", name, constructorArgsString); + + boolean useExplicit = + !(constructorArgsString.isEmpty() || constructorArgsString.contains(",")); + if (useExplicit) { + parserHeaderFile.printf("explicit %s(%s);\n", name, constructorArgsString); + } else { + parserHeaderFile.printf("%s(%s);\n", name, constructorArgsString); + } parserCppFile.printf("\n%s::%s(%s) : ", fullName, name, constructorArgsString); String parentArgsString = parentArgs.toString(); |