Skip to content

Commit fd46592

Browse files
authored
Merge pull request github#10869 from github/redsun82/swift-no-base-suffix
Swift: replace `Base` suffix with `Generated::` module
2 parents 5e17861 + 9c7eec5 commit fd46592

File tree

588 files changed

+2853
-2223
lines changed

Some content is hidden

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

588 files changed

+2853
-2223
lines changed

swift/codegen/generators/qlgen.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,10 @@ 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+
return sorted(set(t for t in get_types_used_by(cls) if t[0].isupper() and t != cls.name))
161161

162162

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

165165

166166
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+
{{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 {{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

swift/ql/lib/codeql/swift/elements/AstNode.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ private module Cached {
2323
}
2424
}
2525

26-
class AstNode extends AstNodeBase {
26+
class AstNode extends Generated::AstNode {
2727
final AbstractFunctionDecl getEnclosingFunction() { result = Cached::getEnclosingFunction(this) }
2828

2929
final Decl getEnclosingDecl() { result = Cached::getEnclosingDecl(this) }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
private import codeql.swift.generated.Callable
22
private import codeql.swift.elements.AstNode
33

4-
class Callable extends CallableBase, AstNode { }
4+
class Callable extends Generated::Callable, AstNode { }

swift/ql/lib/codeql/swift/elements/Comment.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
private import codeql.swift.generated.Comment
22

3-
class Comment extends CommentBase {
3+
class Comment extends Generated::Comment {
44
/** toString */
55
override string toString() { result = this.getText() }
66
}
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 { }

swift/ql/lib/codeql/swift/elements/Element.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
private import codeql.swift.generated.Element
22

3-
class Element extends ElementBase {
3+
class Element extends Generated::Element {
44
private predicate resolvesFrom(Element e) { e.getResolveStep() = this }
55

66
override string toString() { result = this.getPrimaryQlClasses() }

0 commit comments

Comments
 (0)