Files
codeql/swift/codegen/templates/ql_class.mustache
2022-05-10 12:42:18 +02:00

59 lines
1.5 KiB
Plaintext

// generated by {{generator}}
{{#imports}}
import {{.}}
{{/imports}}
class {{name}}Base extends {{db_id}}{{#bases}}, {{.}}{{/bases}} {
{{#root}}
string toString() { none() } // overridden by subclasses
string getAPrimaryQlClass() { none() } // overridden by subclasses
final string getPrimaryQlClasses() { result = concat(this.getAPrimaryQlClass(), ",") }
{{name}}Base getResolveStep() { none() } // overridden by subclasses
{{name}}Base resolve() {
not exists(getResolveStep()) and result = this
or
result = getResolveStep().resolve()
}
{{/root}}
{{#final}}
override string getAPrimaryQlClass() { result = "{{name}}" }
{{/final}}
{{#properties}}
{{type}} {{getter}}({{#is_repeated}}int index{{/is_repeated}}) {
{{#type_is_class}}
exists({{type}} {{local_var}} |
{{tablename}}({{#tableparams}}{{^first}}, {{/first}}{{param}}{{/tableparams}})
and
result = {{local_var}}.resolve())
{{/type_is_class}}
{{^type_is_class}}
{{tablename}}({{#tableparams}}{{^first}}, {{/first}}{{param}}{{/tableparams}})
{{/type_is_class}}
}
{{#is_optional}}
predicate has{{singular}}({{#is_repeated}}int index{{/is_repeated}}) {
exists({{getter}}({{#is_repeated}}index{{/is_repeated}}))
}
{{/is_optional}}
{{#is_repeated}}
{{type}} {{indefinite_getter}}() {
result = {{getter}}(_)
}
{{^is_optional}}
int getNumberOf{{plural}}() {
result = count({{indefinite_getter}}())
}
{{/is_optional}}
{{/is_repeated}}
{{/properties}}
}