Skip to content

Commit dd4bff3

Browse files
authored
Refactor static methods into global scope methods (#113)
1 parent 22a8ad8 commit dd4bff3

File tree

1 file changed

+16
-18
lines changed

1 file changed

+16
-18
lines changed

python/mypy_protobuf.py

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,21 @@ def cast(type, value):
8989
FORWARD_REFERENCE_STRING_LITERAL = True
9090

9191

92-
def forward_ref(name):
92+
def _forward_ref(name):
9393
# type: (Text) -> Text
9494
if FORWARD_REFERENCE_STRING_LITERAL:
9595
return "'{}'".format(name)
9696
else:
9797
return name
9898

99+
def _mangle_builtin(name):
100+
# type: (Text) -> Text
101+
return 'builtin___{}'.format(name)
102+
103+
def _mangle_global(name):
104+
# type: (Text) -> Text
105+
return 'global___{}'.format(name)
106+
99107

100108
class PkgWriter(object):
101109
"""Writes a single pyi file"""
@@ -139,7 +147,7 @@ def _import_message(self, name):
139147

140148
# Message defined in this file.
141149
if message_fd.name == self.fd.name:
142-
return self._mangle_global(name)
150+
return _mangle_global(name)
143151

144152
# Not in file. Must import
145153
# Python generated code ignores proto packages, so the only relevant factor is
@@ -159,17 +167,7 @@ def _builtin(self, name):
159167
self.py2_builtin_vars.add(name)
160168
else:
161169
self.builtin_vars.add(name)
162-
return self._mangle_builtin(name)
163-
164-
@staticmethod
165-
def _mangle_builtin(name):
166-
# type: (Text) -> Text
167-
return 'builtin___{}'.format(name)
168-
169-
@staticmethod
170-
def _mangle_global(name):
171-
# type: (Text) -> Text
172-
return 'global___{}'.format(name)
170+
return _mangle_builtin(name)
173171

174172
@contextmanager
175173
def _indent(self):
@@ -198,7 +196,7 @@ def write_enums(self, enums, prefix=''):
198196
l = self._write_line
199197
for enum in [e for e in enums if e.name not in PYTHON_RESERVED]:
200198
# MyPy does not support referencing the enum by the unqualified name *inside* nested enums
201-
enum_full_name = forward_ref(prefix + enum.name)
199+
enum_full_name = _forward_ref(prefix + enum.name)
202200

203201
l("class {}({}):", enum.name, self._builtin('int'))
204202
with self._indent():
@@ -225,7 +223,7 @@ def write_enums(self, enums, prefix=''):
225223
self.write_enum_values(enum, enum_full_name)
226224

227225
self.write_enum_values(enum, enum_full_name)
228-
l("{} = {}", self._mangle_global(enum.name), enum.name)
226+
l("{} = {}", _mangle_global(enum.name), enum.name)
229227
l("")
230228

231229
def write_messages(self, messages, prefix):
@@ -308,7 +306,7 @@ def write_messages(self, messages, prefix):
308306

309307
self.write_stringly_typed_fields(desc)
310308

311-
l("{} = {}", self._mangle_global(desc.name), desc.name)
309+
l("{} = {}", _mangle_global(desc.name), desc.name)
312310
l("")
313311

314312
def write_stringly_typed_fields(self, desc):
@@ -458,11 +456,11 @@ def write(self):
458456

459457
aliases = []
460458
for var in sorted(self.builtin_vars):
461-
aliases.append(u'{} = {}'.format(self._mangle_builtin(var), var))
459+
aliases.append(u'{} = {}'.format(_mangle_builtin(var), var))
462460
if self.py2_builtin_vars:
463461
aliases.append(u'if sys.version_info < (3,):')
464462
for var in sorted(self.py2_builtin_vars):
465-
aliases.append(u' {} = {}'.format(self._mangle_builtin(var), var))
463+
aliases.append(u' {} = {}'.format(_mangle_builtin(var), var))
466464
if aliases:
467465
aliases.append('\n')
468466

0 commit comments

Comments
 (0)