Skip to content

Commit b22da25

Browse files
committed
Swift: remove ql.internal classes from global import
1 parent 4882544 commit b22da25

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

swift/codegen/generators/qlgen.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,8 @@ def generate(opts, renderer):
327327
renderer.render(stub, stub_file)
328328

329329
# for example path/to/elements -> path/to/elements.qll
330-
renderer.render(ql.ImportList(list(imports.values())), include_file)
330+
renderer.render(ql.ImportList([i for name, i in imports.items() if not classes[name].ql_internal]),
331+
include_file)
331332

332333
renderer.render(ql.GetParentImplementation(list(classes.values())), out / 'ParentChild.qll')
333334

swift/codegen/lib/ql.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ class Class:
100100
qltest_skip: bool = False
101101
qltest_collapse_hierarchy: bool = False
102102
qltest_uncollapse_hierarchy: bool = False
103+
ql_internal: bool = False
103104
ipa: bool = False
104105
doc: List[str] = field(default_factory=list)
105106

swift/codegen/test/test_qlgen.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,15 @@ def test_hierarchy_imports(generate_import_list):
170170
]) == ql.ImportList([stub_import_prefix + cls for cls in "ABCD"])
171171

172172

173+
def test_internal_not_in_import_list(generate_import_list):
174+
assert generate_import_list([
175+
schema.Class("D", bases=["B", "C"]),
176+
schema.Class("C", bases=["A"], derived={"D"}, pragmas=["ql_internal"]),
177+
schema.Class("B", bases=["A"], derived={"D"}),
178+
schema.Class("A", derived={"B", "C"}, pragmas=["ql_internal"]),
179+
]) == ql.ImportList([stub_import_prefix + cls for cls in "BD"])
180+
181+
173182
def test_hierarchy_children(generate_children_implementations):
174183
assert generate_children_implementations([
175184
schema.Class("A", derived={"B", "C"}),

0 commit comments

Comments
 (0)