Skip to content

Commit 307c885

Browse files
committed
Swift: use Generated:: instead of Base suffix
This commit changes `codegen` and the generated classes.
1 parent d362296 commit 307c885

File tree

462 files changed

+2726
-2094
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

462 files changed

+2726
-2094
lines changed

swift/codegen/generators/qlgen.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,12 @@ def get_types_used_by(cls: ql.Class) -> typing.Iterable[str]:
157157

158158

159159
def get_classes_used_by(cls: ql.Class) -> typing.List[str]:
160-
return sorted(set(t for t in get_types_used_by(cls) if t[0].isupper()))
160+
ret = sorted(set(t for t in get_types_used_by(cls) if t[0].isupper() and t != cls.name))
161+
print(cls.name, ret)
162+
return ret
161163

162164

163-
_generated_stub_re = re.compile(r"\n*private import .*\n+class \w+ extends \w+ \{[ \n]?\}", re.MULTILINE)
165+
_generated_stub_re = re.compile(r"\n*private import .*\n+class \w+ extends Generated::\w+ \{[ \n]?\}", re.MULTILINE)
164166

165167

166168
def _is_generated_stub(file: pathlib.Path) -> bool:

swift/codegen/templates/ql_class.mustache

Lines changed: 56 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -5,69 +5,71 @@ private import codeql.swift.generated.Raw
55
import {{.}}
66
{{/imports}}
77

8-
class {{name}}Base extends Synth::T{{name}}{{#bases}}, {{.}}{{/bases}} {
9-
{{#root}}
10-
string toString() { none() } // overridden by subclasses
8+
module Generated {
9+
class {{name}} extends Synth::T{{name}}{{#bases}}, {{.}}{{/bases}} {
10+
{{#root}}
11+
string toString() { none() } // overridden by subclasses
1112

12-
string getAPrimaryQlClass() { none() } // overridden by subclasses
13+
string getAPrimaryQlClass() { none() } // overridden by subclasses
1314

14-
final string getPrimaryQlClasses() { result = concat(this.getAPrimaryQlClass(), ",") }
15+
final string getPrimaryQlClasses() { result = concat(this.getAPrimaryQlClass(), ",") }
1516

16-
{{name}}Base getResolveStep() { none() } // overridden by subclasses
17+
Generated::{{name}} getResolveStep() { none() } // overridden by subclasses
1718

18-
final {{name}}Base resolve() {
19-
not exists(getResolveStep()) and result = this
20-
or
21-
result = getResolveStep().resolve()
22-
}
23-
{{/root}}
24-
{{#final}}
25-
override string getAPrimaryQlClass() { result = "{{name}}" }
26-
{{/final}}
27-
{{#properties}}
19+
final Generated::{{name}} resolve() {
20+
not exists(getResolveStep()) and result = this
21+
or
22+
result = getResolveStep().resolve()
23+
}
24+
{{/root}}
25+
{{#final}}
26+
override string getAPrimaryQlClass() { result = "{{name}}" }
27+
{{/final}}
28+
{{#properties}}
2829

29-
{{#type_is_class}}
30-
{{type}} getImmediate{{singular}}({{#is_repeated}}int index{{/is_repeated}}) {
31-
{{^ipa}}
32-
result = Synth::convert{{type}}FromRaw(Synth::convert{{name}}ToRaw(this){{^root}}.(Raw::{{name}}){{/root}}.{{getter}}({{#is_repeated}}index{{/is_repeated}}))
33-
{{/ipa}}
34-
{{#ipa}}
35-
none()
36-
{{/ipa}}
37-
}
30+
{{#type_is_class}}
31+
{{type}} getImmediate{{singular}}({{#is_repeated}}int index{{/is_repeated}}) {
32+
{{^ipa}}
33+
result = Synth::convert{{type}}FromRaw(Synth::convert{{name}}ToRaw(this){{^root}}.(Raw::{{name}}){{/root}}.{{getter}}({{#is_repeated}}index{{/is_repeated}}))
34+
{{/ipa}}
35+
{{#ipa}}
36+
none()
37+
{{/ipa}}
38+
}
3839

39-
final {{type}} {{getter}}({{#is_repeated}}int index{{/is_repeated}}) {
40-
result = getImmediate{{singular}}({{#is_repeated}}index{{/is_repeated}}).resolve()
41-
}
40+
final {{type}} {{getter}}({{#is_repeated}}int index{{/is_repeated}}) {
41+
result = getImmediate{{singular}}({{#is_repeated}}index{{/is_repeated}}).resolve()
42+
}
4243

43-
{{/type_is_class}}
44-
{{^type_is_class}}
45-
{{type}} {{getter}}({{#is_repeated}}int index{{/is_repeated}}) {
46-
{{^ipa}}
47-
{{^is_predicate}}result = {{/is_predicate}}Synth::convert{{name}}ToRaw(this){{^root}}.(Raw::{{name}}){{/root}}.{{getter}}({{#is_repeated}}index{{/is_repeated}})
48-
{{/ipa}}
49-
{{#ipa}}
50-
none()
51-
{{/ipa}}
52-
}
44+
{{/type_is_class}}
45+
{{^type_is_class}}
46+
{{type}} {{getter}}({{#is_repeated}}int index{{/is_repeated}}) {
47+
{{^ipa}}
48+
{{^is_predicate}}result = {{/is_predicate}}Synth::convert{{name}}ToRaw(this){{^root}}.(Raw::{{name}}){{/root}}.{{getter}}({{#is_repeated}}index{{/is_repeated}})
49+
{{/ipa}}
50+
{{#ipa}}
51+
none()
52+
{{/ipa}}
53+
}
5354

54-
{{/type_is_class}}
55-
{{#is_optional}}
56-
final predicate has{{singular}}({{#is_repeated}}int index{{/is_repeated}}) {
57-
exists({{getter}}({{#is_repeated}}index{{/is_repeated}}))
58-
}
59-
{{/is_optional}}
60-
{{#is_repeated}}
55+
{{/type_is_class}}
56+
{{#is_optional}}
57+
final predicate has{{singular}}({{#is_repeated}}int index{{/is_repeated}}) {
58+
exists({{getter}}({{#is_repeated}}index{{/is_repeated}}))
59+
}
60+
{{/is_optional}}
61+
{{#is_repeated}}
6162

62-
final {{type}} {{indefinite_getter}}() {
63-
result = {{getter}}(_)
64-
}
65-
{{^is_optional}}
63+
final {{type}} {{indefinite_getter}}() {
64+
result = {{getter}}(_)
65+
}
66+
{{^is_optional}}
6667

67-
final int getNumberOf{{plural}}() {
68-
result = count({{indefinite_getter}}())
68+
final int getNumberOf{{plural}}() {
69+
result = count({{indefinite_getter}}())
70+
}
71+
{{/is_optional}}
72+
{{/is_repeated}}
73+
{{/properties}}
6974
}
70-
{{/is_optional}}
71-
{{/is_repeated}}
72-
{{/properties}}
7375
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// generated by {{generator}}, remove this comment if you wish to edit this file
22
private import {{base_import}}
33

4-
class {{name}} extends {{name}}Base {}
4+
class {{name}} extends Generated::{{name}} {}

swift/codegen/test/test_qlgen.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ def test_non_empty_cleanup(opts, generate, renderer):
425425
test_c = opts.ql_test_output / "B.txt"
426426
write(ql_a)
427427
write(ql_b)
428-
write(stub_a, "// generated\nprivate import bla\n\nclass foo extends bar {\n}\n")
428+
write(stub_a, "// generated\nprivate import bla\n\nclass foo extends Generated::bar {\n}\n")
429429
write(stub_b, "bar\n")
430430
write(test_a)
431431
write(test_b)
@@ -437,15 +437,16 @@ def test_non_empty_cleanup(opts, generate, renderer):
437437

438438
def test_modified_stub_still_generated(qlgen_opts, renderer):
439439
stub = qlgen_opts.ql_stub_output / "A.qll"
440-
write(stub, "// generated\nprivate import bla\n\nclass foo extends bar, baz {\n}\n")
440+
write(stub, "// generated\nprivate import bla\n\nclass foo extends Generated::bar, baz {\n}\n")
441441
with pytest.raises(qlgen.ModifiedStubMarkedAsGeneratedError):
442442
run_generation(qlgen.generate, qlgen_opts, renderer)
443443

444444

445445
def test_extended_stub_still_generated(qlgen_opts, renderer):
446446
stub = qlgen_opts.ql_stub_output / "A.qll"
447447
write(stub,
448-
"// generated\nprivate import bla\n\nclass foo extends bar {\n}\n\nclass other {\n other() { none() }\n}")
448+
"// generated\nprivate import bla\n\nclass foo extends Generated::bar {\n}\n\n"
449+
"class other {\n other() { none() }\n}")
449450
with pytest.raises(qlgen.ModifiedStubMarkedAsGeneratedError):
450451
run_generation(qlgen.generate, qlgen_opts, renderer)
451452

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
22
private import codeql.swift.generated.DbFile
33

4-
class DbFile extends DbFileBase { }
4+
class DbFile extends Generated::DbFile { }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
22
private import codeql.swift.generated.DbLocation
33

4-
class DbLocation extends DbLocationBase { }
4+
class DbLocation extends Generated::DbLocation { }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
22
private import codeql.swift.generated.UnresolvedElement
33

4-
class UnresolvedElement extends UnresolvedElementBase { }
4+
class UnresolvedElement extends Generated::UnresolvedElement { }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
22
private import codeql.swift.generated.decl.AbstractStorageDecl
33

4-
class AbstractStorageDecl extends AbstractStorageDeclBase { }
4+
class AbstractStorageDecl extends Generated::AbstractStorageDecl { }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
22
private import codeql.swift.generated.decl.AbstractTypeParamDecl
33

4-
class AbstractTypeParamDecl extends AbstractTypeParamDeclBase { }
4+
class AbstractTypeParamDecl extends Generated::AbstractTypeParamDecl { }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
22
private import codeql.swift.generated.decl.AssociatedTypeDecl
33

4-
class AssociatedTypeDecl extends AssociatedTypeDeclBase { }
4+
class AssociatedTypeDecl extends Generated::AssociatedTypeDecl { }

0 commit comments

Comments
 (0)