gn2bp: add basic outline of ActionSanitizer with helpers

The goal is to make create_action_module more readable and easier to
work with. ActionSanitizer provides some basic helper functions that
should make the implementation of script-specific hacks a lot more
readable.

Test: none
Change-Id: I07772e336fb1d3879f6b50df1ea720e2a98cef72
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 466eaf4..5069639 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -608,6 +608,39 @@
 
   blueprint.add_module(module)
 
+
+class ActionSanitizer():
+  def __init__(self, target):
+    self.target = target
+
+  def _has_arg(self, arg):
+    return arg in self.target.args
+
+  def _has_arg_value(self, arg):
+    i = self.target.args.index(arg)
+    return not self.target.args[i + 1].startswith('--')
+
+  def _get_arg_value(self, arg):
+    i = self.target.args.index(arg)
+    return self.target.args[i + 1]
+
+  def _set_arg_value(self, arg, value):
+    assert(self._has_arg_value(arg))
+    i = self.target.args.index(arg)
+    self.target.args[i + 1] = value
+
+  def _delete_arg(self, arg):
+    hasValue = self._has_arg_value(arg)
+    i = self.target.index(arg)
+    self.target.args.pop(i)
+    if hasValue:
+      self.target.args.pop(i)
+
+  def get_args(self):
+    # TODO: implement
+    pass
+
+
 def create_action_foreach_modules(blueprint, target):
   """ The following assumes that rebase_path exists in the args.
   The args of an action_foreach contains hints about which output files are generated