Merge pull request #8861 from MathiasVP/update-schema

Swift: Update `schema.yml` and regenerate files
This commit is contained in:
Mathias Vorreiter Pedersen
2022-04-26 08:45:54 +01:00
committed by GitHub
19 changed files with 292 additions and 26 deletions

View File

@@ -23,8 +23,8 @@ Locatable:
Location:
file: File
begin_line: int
begin_column: int
start_line: int
start_column: int
end_line: int
end_column: int
@@ -312,9 +312,12 @@ AssignExpr:
BindOptionalExpr:
_extends: Expr
sub_expr: Expr
CaptureListExpr:
_extends: Expr
binding_decls: PatternBindingDecl*
closure_body: ClosureExpr
CodeCompletionExpr:
_extends: Expr
@@ -338,15 +341,21 @@ DiscardAssignmentExpr:
DotSyntaxBaseIgnoredExpr:
_extends: Expr
qualifier: Expr
sub_expr: Expr
DynamicTypeExpr:
_extends: Expr
base_expr: Expr
EditorPlaceholderExpr:
_extends: Expr
EnumIsCaseExpr:
_extends: Expr
sub_expr: Expr
type_repr: TypeRepr
element: EnumElementDecl
ErrorExpr:
_extends: Expr
@@ -365,6 +374,9 @@ IdentityExpr:
IfExpr:
_extends: Expr
condition: Expr
then_expr: Expr
else_expr: Expr
ImplicitConversionExpr:
_extends: Expr
@@ -387,6 +399,7 @@ KeyPathExpr:
LazyInitializerExpr:
_extends: Expr
sub_expr: Expr
LiteralExpr:
_extends: Expr
@@ -396,21 +409,31 @@ LookupExpr:
MakeTemporarilyEscapableExpr:
_extends: Expr
escaping_closure: OpaqueValueExpr
nonescaping_closure: Expr
sub_expr: Expr
ObjCSelectorExpr:
_extends: Expr
sub_expr: Expr
method: AbstractFunctionDecl
OneWayExpr:
_extends: Expr
sub_expr: Expr
OpaqueValueExpr:
_extends: Expr
OpenExistentialExpr:
_extends: Expr
sub_expr: Expr
existential: Expr
opaque_expr: OpaqueValueExpr
OptionalEvaluationExpr:
_extends: Expr
sub_expr: Expr
OtherConstructorDeclRefExpr:
_extends: Expr
@@ -423,12 +446,15 @@ PropertyWrapperValuePlaceholderExpr:
RebindSelfInConstructorExpr:
_extends: Expr
sub_expr: Expr
self: VarDecl
SequenceExpr:
_extends: Expr
SuperRefExpr:
_extends: Expr
self: VarDecl
TapExpr:
_extends: Expr
@@ -438,6 +464,8 @@ TapExpr:
TupleElementExpr:
_extends: Expr
sub_expr: Expr
index: int
TupleExpr:
_extends: Expr
@@ -445,7 +473,7 @@ TupleExpr:
TypeExpr:
_extends: Expr
type_repr: UnknownAstNode?
type_repr: TypeRepr?
UnresolvedDeclRefExpr:
_extends: Expr

View File

@@ -12,9 +12,9 @@ class LocationBase extends @location, Element {
)
}
int getBeginLine() { locations(this, _, result, _, _, _) }
int getStartLine() { locations(this, _, result, _, _, _) }
int getBeginColumn() { locations(this, _, _, result, _, _) }
int getStartColumn() { locations(this, _, _, result, _, _) }
int getEndLine() { locations(this, _, _, _, result, _) }

View File

@@ -3,4 +3,11 @@ import codeql.swift.elements.expr.Expr
class BindOptionalExprBase extends @bind_optional_expr, Expr {
override string toString() { result = "BindOptionalExpr" }
Expr getSubExpr() {
exists(Expr x |
bind_optional_exprs(this, x) and
result = x.resolve()
)
}
}

View File

@@ -1,6 +1,26 @@
// generated by codegen/codegen.py
import codeql.swift.elements.expr.ClosureExpr
import codeql.swift.elements.expr.Expr
import codeql.swift.elements.decl.PatternBindingDecl
class CaptureListExprBase extends @capture_list_expr, Expr {
override string toString() { result = "CaptureListExpr" }
PatternBindingDecl getBindingDecl(int index) {
exists(PatternBindingDecl x |
capture_list_expr_binding_decls(this, index, x) and
result = x.resolve()
)
}
PatternBindingDecl getABindingDecl() { result = getBindingDecl(_) }
int getNumberOfBindingDecls() { result = count(getABindingDecl()) }
ClosureExpr getClosureBody() {
exists(ClosureExpr x |
capture_list_exprs(this, x) and
result = x.resolve()
)
}
}

View File

@@ -3,4 +3,18 @@ import codeql.swift.elements.expr.Expr
class DotSyntaxBaseIgnoredExprBase extends @dot_syntax_base_ignored_expr, Expr {
override string toString() { result = "DotSyntaxBaseIgnoredExpr" }
Expr getQualifier() {
exists(Expr x |
dot_syntax_base_ignored_exprs(this, x, _) and
result = x.resolve()
)
}
Expr getSubExpr() {
exists(Expr x |
dot_syntax_base_ignored_exprs(this, _, x) and
result = x.resolve()
)
}
}

View File

@@ -3,4 +3,11 @@ import codeql.swift.elements.expr.Expr
class DynamicTypeExprBase extends @dynamic_type_expr, Expr {
override string toString() { result = "DynamicTypeExpr" }
Expr getBaseExpr() {
exists(Expr x |
dynamic_type_exprs(this, x) and
result = x.resolve()
)
}
}

View File

@@ -1,6 +1,29 @@
// generated by codegen/codegen.py
import codeql.swift.elements.decl.EnumElementDecl
import codeql.swift.elements.expr.Expr
import codeql.swift.elements.typerepr.TypeRepr
class EnumIsCaseExprBase extends @enum_is_case_expr, Expr {
override string toString() { result = "EnumIsCaseExpr" }
Expr getSubExpr() {
exists(Expr x |
enum_is_case_exprs(this, x, _, _) and
result = x.resolve()
)
}
TypeRepr getTypeRepr() {
exists(TypeRepr x |
enum_is_case_exprs(this, _, x, _) and
result = x.resolve()
)
}
EnumElementDecl getElement() {
exists(EnumElementDecl x |
enum_is_case_exprs(this, _, _, x) and
result = x.resolve()
)
}
}

View File

@@ -3,4 +3,25 @@ import codeql.swift.elements.expr.Expr
class IfExprBase extends @if_expr, Expr {
override string toString() { result = "IfExpr" }
Expr getCondition() {
exists(Expr x |
if_exprs(this, x, _, _) and
result = x.resolve()
)
}
Expr getThenExpr() {
exists(Expr x |
if_exprs(this, _, x, _) and
result = x.resolve()
)
}
Expr getElseExpr() {
exists(Expr x |
if_exprs(this, _, _, x) and
result = x.resolve()
)
}
}

View File

@@ -3,4 +3,11 @@ import codeql.swift.elements.expr.Expr
class LazyInitializerExprBase extends @lazy_initializer_expr, Expr {
override string toString() { result = "LazyInitializerExpr" }
Expr getSubExpr() {
exists(Expr x |
lazy_initializer_exprs(this, x) and
result = x.resolve()
)
}
}

View File

@@ -1,6 +1,28 @@
// generated by codegen/codegen.py
import codeql.swift.elements.expr.Expr
import codeql.swift.elements.expr.OpaqueValueExpr
class MakeTemporarilyEscapableExprBase extends @make_temporarily_escapable_expr, Expr {
override string toString() { result = "MakeTemporarilyEscapableExpr" }
OpaqueValueExpr getEscapingClosure() {
exists(OpaqueValueExpr x |
make_temporarily_escapable_exprs(this, x, _, _) and
result = x.resolve()
)
}
Expr getNonescapingClosure() {
exists(Expr x |
make_temporarily_escapable_exprs(this, _, x, _) and
result = x.resolve()
)
}
Expr getSubExpr() {
exists(Expr x |
make_temporarily_escapable_exprs(this, _, _, x) and
result = x.resolve()
)
}
}

View File

@@ -1,6 +1,21 @@
// generated by codegen/codegen.py
import codeql.swift.elements.decl.AbstractFunctionDecl
import codeql.swift.elements.expr.Expr
class ObjCSelectorExprBase extends @obj_c_selector_expr, Expr {
override string toString() { result = "ObjCSelectorExpr" }
Expr getSubExpr() {
exists(Expr x |
obj_c_selector_exprs(this, x, _) and
result = x.resolve()
)
}
AbstractFunctionDecl getMethod() {
exists(AbstractFunctionDecl x |
obj_c_selector_exprs(this, _, x) and
result = x.resolve()
)
}
}

View File

@@ -3,4 +3,11 @@ import codeql.swift.elements.expr.Expr
class OneWayExprBase extends @one_way_expr, Expr {
override string toString() { result = "OneWayExpr" }
Expr getSubExpr() {
exists(Expr x |
one_way_exprs(this, x) and
result = x.resolve()
)
}
}

View File

@@ -1,6 +1,28 @@
// generated by codegen/codegen.py
import codeql.swift.elements.expr.Expr
import codeql.swift.elements.expr.OpaqueValueExpr
class OpenExistentialExprBase extends @open_existential_expr, Expr {
override string toString() { result = "OpenExistentialExpr" }
Expr getSubExpr() {
exists(Expr x |
open_existential_exprs(this, x, _, _) and
result = x.resolve()
)
}
Expr getExistential() {
exists(Expr x |
open_existential_exprs(this, _, x, _) and
result = x.resolve()
)
}
OpaqueValueExpr getOpaqueExpr() {
exists(OpaqueValueExpr x |
open_existential_exprs(this, _, _, x) and
result = x.resolve()
)
}
}

View File

@@ -3,4 +3,11 @@ import codeql.swift.elements.expr.Expr
class OptionalEvaluationExprBase extends @optional_evaluation_expr, Expr {
override string toString() { result = "OptionalEvaluationExpr" }
Expr getSubExpr() {
exists(Expr x |
optional_evaluation_exprs(this, x) and
result = x.resolve()
)
}
}

View File

@@ -1,6 +1,21 @@
// generated by codegen/codegen.py
import codeql.swift.elements.expr.Expr
import codeql.swift.elements.decl.VarDecl
class RebindSelfInConstructorExprBase extends @rebind_self_in_constructor_expr, Expr {
override string toString() { result = "RebindSelfInConstructorExpr" }
Expr getSubExpr() {
exists(Expr x |
rebind_self_in_constructor_exprs(this, x, _) and
result = x.resolve()
)
}
VarDecl getSelf() {
exists(VarDecl x |
rebind_self_in_constructor_exprs(this, _, x) and
result = x.resolve()
)
}
}

View File

@@ -1,6 +1,14 @@
// generated by codegen/codegen.py
import codeql.swift.elements.expr.Expr
import codeql.swift.elements.decl.VarDecl
class SuperRefExprBase extends @super_ref_expr, Expr {
override string toString() { result = "SuperRefExpr" }
VarDecl getSelf() {
exists(VarDecl x |
super_ref_exprs(this, x) and
result = x.resolve()
)
}
}

View File

@@ -3,4 +3,13 @@ import codeql.swift.elements.expr.Expr
class TupleElementExprBase extends @tuple_element_expr, Expr {
override string toString() { result = "TupleElementExpr" }
Expr getSubExpr() {
exists(Expr x |
tuple_element_exprs(this, x, _) and
result = x.resolve()
)
}
int getIndex() { tuple_element_exprs(this, _, result) }
}

View File

@@ -1,12 +1,12 @@
// generated by codegen/codegen.py
import codeql.swift.elements.expr.Expr
import codeql.swift.elements.UnknownAstNode
import codeql.swift.elements.typerepr.TypeRepr
class TypeExprBase extends @type_expr, Expr {
override string toString() { result = "TypeExpr" }
UnknownAstNode getTypeRepr() {
exists(UnknownAstNode x |
TypeRepr getTypeRepr() {
exists(TypeRepr x |
type_expr_type_reprs(this, x) and
result = x.resolve()
)

View File

@@ -46,8 +46,8 @@ locatables(
locations(
unique int id: @location,
int file: @file ref,
int begin_line: int ref,
int begin_column: int ref,
int start_line: int ref,
int start_column: int ref,
int end_line: int ref,
int end_column: int ref
);
@@ -663,11 +663,20 @@ assign_exprs(
);
bind_optional_exprs(
unique int id: @bind_optional_expr
unique int id: @bind_optional_expr,
int sub_expr: @expr ref
);
capture_list_exprs(
unique int id: @capture_list_expr
unique int id: @capture_list_expr,
int closure_body: @closure_expr ref
);
#keyset[id, index]
capture_list_expr_binding_decls(
int id: @capture_list_expr ref,
int index: int ref,
int binding_decl: @pattern_binding_decl ref
);
code_completion_exprs(
@@ -708,11 +717,14 @@ discard_assignment_exprs(
);
dot_syntax_base_ignored_exprs(
unique int id: @dot_syntax_base_ignored_expr
unique int id: @dot_syntax_base_ignored_expr,
int qualifier: @expr ref,
int sub_expr: @expr ref
);
dynamic_type_exprs(
unique int id: @dynamic_type_expr
unique int id: @dynamic_type_expr,
int base_expr: @expr ref
);
editor_placeholder_exprs(
@@ -720,7 +732,10 @@ editor_placeholder_exprs(
);
enum_is_case_exprs(
unique int id: @enum_is_case_expr
unique int id: @enum_is_case_expr,
int sub_expr: @expr ref,
int type_repr: @type_repr ref,
int element: @enum_element_decl ref
);
error_exprs(
@@ -757,7 +772,10 @@ identity_exprs(
);
if_exprs(
unique int id: @if_expr
unique int id: @if_expr,
int condition: @expr ref,
int then_expr: @expr ref,
int else_expr: @expr ref
);
@implicit_conversion_expr =
@@ -830,7 +848,8 @@ key_path_expr_parsed_paths(
);
lazy_initializer_exprs(
unique int id: @lazy_initializer_expr
unique int id: @lazy_initializer_expr,
int sub_expr: @expr ref
);
@literal_expr =
@@ -848,15 +867,21 @@ lazy_initializer_exprs(
;
make_temporarily_escapable_exprs(
unique int id: @make_temporarily_escapable_expr
unique int id: @make_temporarily_escapable_expr,
int escaping_closure: @opaque_value_expr ref,
int nonescaping_closure: @expr ref,
int sub_expr: @expr ref
);
obj_c_selector_exprs(
unique int id: @obj_c_selector_expr
unique int id: @obj_c_selector_expr,
int sub_expr: @expr ref,
int method: @abstract_function_decl ref
);
one_way_exprs(
unique int id: @one_way_expr
unique int id: @one_way_expr,
int sub_expr: @expr ref
);
opaque_value_exprs(
@@ -864,11 +889,15 @@ opaque_value_exprs(
);
open_existential_exprs(
unique int id: @open_existential_expr
unique int id: @open_existential_expr,
int sub_expr: @expr ref,
int existential: @expr ref,
int opaque_expr: @opaque_value_expr ref
);
optional_evaluation_exprs(
unique int id: @optional_evaluation_expr
unique int id: @optional_evaluation_expr,
int sub_expr: @expr ref
);
other_constructor_decl_ref_exprs(
@@ -884,7 +913,9 @@ property_wrapper_value_placeholder_exprs(
);
rebind_self_in_constructor_exprs(
unique int id: @rebind_self_in_constructor_expr
unique int id: @rebind_self_in_constructor_expr,
int sub_expr: @expr ref,
int self: @var_decl ref
);
sequence_exprs(
@@ -892,7 +923,8 @@ sequence_exprs(
);
super_ref_exprs(
unique int id: @super_ref_expr
unique int id: @super_ref_expr,
int self: @var_decl ref
);
tap_exprs(
@@ -908,7 +940,9 @@ tap_expr_sub_exprs(
);
tuple_element_exprs(
unique int id: @tuple_element_expr
unique int id: @tuple_element_expr,
int sub_expr: @expr ref,
int index: int ref
);
tuple_exprs(
@@ -929,7 +963,7 @@ type_exprs(
#keyset[id]
type_expr_type_reprs(
int id: @type_expr ref,
int type_repr: @unknown_ast_node ref
int type_repr: @type_repr ref
);
unresolved_decl_ref_exprs(