gn2bp: add throw_if_absent parameter to some helper functions

This is much more explicit and should hopefully help us catch errors /
upstream changes early.

Test: none
Change-Id: I4379bbf35d64c5f922a34cdd2f24c6bf03983a94
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 7a31ec2..5c6f036 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -651,26 +651,28 @@
     i = self.target.args.index(arg)
     return self.target.args[i + 1]
 
-  def _set_value_arg(self, arg, value):
-    # Fail silently
-    if not self._has_arg(arg):
+  # used to check whether a function call should cause an error when an arg is
+  # missing.
+  def _should_fail_silently(self, arg, throw_if_absent):
+    return not throw_if_absent and not self._has_arg(arg)
+
+  def _set_value_arg(self, arg, value, throw_if_absent = True):
+    if self._should_fail_silently(arg, throw_if_absent):
       return
     assert(self._is_value_arg(arg))
     i = self.target.args.index(arg)
     self.target.args[i + 1] = value
 
-  def _update_value_arg(self, arg, func):
-    # Fail silently
-    if not self._has_arg(arg):
+  def _update_value_arg(self, arg, func, throw_if_absent = True):
+    if self._should_fail_silently(arg, throw_if_absent):
       return
     self._set_value_arg(arg, func(self._get_value_arg(arg)))
 
   def _set_arg_at(self, position, value):
     self.target.args[position] = value
 
-  def _delete_arg(self, arg):
-    # Fail silently
-    if not self._has_arg(arg):
+  def _delete_arg(self, arg, throw_if_absent = True):
+    if self._should_fail_silently(arg, throw_if_absent):
       return
     assert(not self._is_list_arg(arg))
     hasValue = self._is_value_arg(arg)
@@ -712,13 +714,13 @@
 
 class JniGeneratorSanitizer(BaseActionSanitizer):
   def get_args(self):
-    self._update_value_arg('--jar_file', self._sanitize_filepath)
-    self._update_value_arg('--jar_file', self._add_location_tag)
+    self._update_value_arg('--jar_file', self._sanitize_filepath, False)
+    self._update_value_arg('--jar_file', self._add_location_tag, False)
     if self._has_arg('--jar_file'):
       self._append_arg('--javap', '$$(find out/.path -name javap)')
     self._update_value_arg('--output_dir', self._sanitize_filepath)
-    self._update_value_arg('--includes', self._sanitize_filepath)
-    self._delete_arg('--prev_output_dir')
+    self._update_value_arg('--includes', self._sanitize_filepath, False)
+    self._delete_arg('--prev_output_dir', False)
     return super().get_args()