Skip to content

Commit d021e2f

Browse files
Update typeshed serializer to serialize imported symbols (#1029)
1 parent 5dc45a4 commit d021e2f

File tree

4 files changed

+12
-13
lines changed

4 files changed

+12
-13
lines changed

python-frontend/typeshed_serializer/serializer/symbols.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -305,14 +305,13 @@ def __init__(self, mypy_file: mpn.MypyFile):
305305
self.overloaded_functions = []
306306
for key in mypy_file.names:
307307
name = mypy_file.names.get(key)
308-
if name.fullname.startswith(mypy_file.fullname):
309-
symbol_table_node = name.node
310-
if isinstance(symbol_table_node, mpn.FuncDef):
311-
self.functions.append(FunctionSymbol(symbol_table_node))
312-
if isinstance(symbol_table_node, mpn.OverloadedFuncDef):
313-
self.overloaded_functions.append(OverloadedFunctionSymbol(symbol_table_node))
314-
if isinstance(symbol_table_node, mpn.TypeInfo):
315-
self.classes.append(ClassSymbol(symbol_table_node))
308+
symbol_table_node = name.node
309+
if isinstance(symbol_table_node, mpn.FuncDef):
310+
self.functions.append(FunctionSymbol(symbol_table_node))
311+
if isinstance(symbol_table_node, mpn.OverloadedFuncDef):
312+
self.overloaded_functions.append(OverloadedFunctionSymbol(symbol_table_node))
313+
if isinstance(symbol_table_node, mpn.TypeInfo):
314+
self.classes.append(ClassSymbol(symbol_table_node))
316315

317316
def to_proto(self) -> symbols_pb2.ModuleSymbol:
318317
pb_module = symbols_pb2.ModuleSymbol()

python-frontend/typeshed_serializer/serializer/typeshed_serializer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def save_merged_symbols(is_debug=False):
112112

113113

114114
def main():
115-
...
115+
save_merged_symbols()
116116

117117

118118
if __name__ == '__main__':

python-frontend/typeshed_serializer/tests/test_symbols.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ def test_module_symbol(typeshed_stdlib):
2828
abc_module = typeshed_stdlib.files.get("abc")
2929
module_symbol = symbols.ModuleSymbol(abc_module)
3030
assert module_symbol.fullname == "abc"
31-
assert len(module_symbol.classes) == 3
31+
assert len(module_symbol.classes) == 5
3232
assert len(module_symbol.functions) == 4
3333

3434
pb_module = module_symbol.to_proto()
3535
assert pb_module.fully_qualified_name == "abc"
36-
assert len(pb_module.classes) == 3
36+
assert len(pb_module.classes) == 5
3737
assert len(pb_module.functions) == 4
3838

3939

python-frontend/typeshed_serializer/tests/test_symbols_merger.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ def test_actual_module_merge(fake_module_36_38):
167167
assert commonclass_symbol.methods['fakemodule.CommonClass.common_method_multiple_definition'][1].valid_for == ["38"]
168168

169169
functions_dict = merged_fakemodule_module.functions
170-
assert len(functions_dict) == 4
170+
assert len(functions_dict) == 5
171171
common_function_symbols = functions_dict['fakemodule.common_function']
172172
assert len(common_function_symbols) == 1
173173
assert common_function_symbols[0].valid_for == ["36", "38"]
@@ -266,7 +266,7 @@ def assert_abc_merged_module(merged_modules, expected_valid_for):
266266
assert isinstance(abc_merged_symbol, MergedModuleSymbol)
267267
assert abc_merged_symbol.fullname == "abc"
268268
assert ([c for c in abc_merged_symbol.classes]
269-
== ['abc.ABCMeta', 'abc.abstractproperty', 'abc.ABC'])
269+
== ['_typeshed.SupportsWrite', 'typing.TypeVar', 'abc.ABCMeta', 'abc.abstractproperty', 'abc.ABC'])
270270
for merged_class_proto in abc_merged_symbol.classes.values():
271271
assert len(merged_class_proto) == 1
272272
assert merged_class_proto[0].valid_for == expected_valid_for

0 commit comments

Comments
 (0)