diff options
| author | Ulf Magnusson <ulfalizer@gmail.com> | 2012-12-15 06:27:23 +0100 |
|---|---|---|
| committer | Ulf Magnusson <ulfalizer@gmail.com> | 2012-12-15 06:27:23 +0100 |
| commit | d30fdfa573df553f361c427397773e9ebe9716f9 (patch) | |
| tree | f80f0eb854e393830e92ceaadcacb2a8c8ce2b39 /kconfiglib.py | |
| parent | d6482f2bf798642990bba05cec10612c06a7b36f (diff) | |
Optimize Symbol._make_conf().
- Remove _should_write().
- Remove redundant get_value() calls.
Diffstat (limited to 'kconfiglib.py')
| -rw-r--r-- | kconfiglib.py | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/kconfiglib.py b/kconfiglib.py index 3d21c6a..34ec169 100644 --- a/kconfiglib.py +++ b/kconfiglib.py @@ -2910,35 +2910,27 @@ class Symbol(Item, _HasVisibility): if self.is_choice_symbol_: self.parent._unset_user_value() - def _should_write(self): - # Symbols defined in multiple locations only get one entry in the - # .config. - if self.already_written: - return False - - # write_to_conf is determined in get_value(), so we need to call that - # first - self.get_value() - - return self.write_to_conf - def _make_conf(self): - if not self._should_write(): + if self.already_written: return [] self.already_written = True + # Note: write_to_conf is determined in get_value() + val = self.get_value() + if not self.write_to_conf: + return [] + if self.type == BOOL or self.type == TRISTATE: - val = self.get_value() if val == "m" or val == "y": - return ["CONFIG_{0}={1}".format(self.name, self.get_value())] + return ["CONFIG_{0}={1}".format(self.name, val)] return ["# CONFIG_{0} is not set".format(self.name)] elif self.type == STRING: - return ['CONFIG_{0}="{1}"'.format(self.name, self.get_value())] + return ['CONFIG_{0}="{1}"'.format(self.name, val)] elif self.type == INT or self.type == HEX: - return ["CONFIG_{0}={1}".format(self.name, self.get_value())] + return ["CONFIG_{0}={1}".format(self.name, val)] else: _internal_error('Internal error while creating .config: unknown type "{0}".' |
