Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
216 changes: 70 additions & 146 deletions unified/extractor/ast_types.yml

Large diffs are not rendered by default.

266 changes: 118 additions & 148 deletions unified/extractor/src/languages/swift/swift.rs

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -66,24 +66,18 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "f"
pattern: name_node "f"
value:
function_expr
capture_declaration:
variable_declaration
modifier: modifier "weak"
pattern:
name_pattern
identifier: identifier "self"
pattern: name_node "self"
body:
block
stmt:
call_expr
callee:
member_access_expr
base:
name_expr
identifier: identifier "self"
member: identifier "doThing"
base: name_node "self"
member_name_node: name_node "doThing"
Original file line number Diff line number Diff line change
Expand Up @@ -68,28 +68,18 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "f"
pattern: name_node "f"
value:
function_expr
parameter:
parameter
type:
named_type_expr
name: identifier "Int"
pattern:
name_pattern
identifier: identifier "x"
return_type:
named_type_expr
name: identifier "Int"
type: name_node "Int"
pattern: name_node "x"
return_type: name_node "Int"
body:
block
stmt:
binary_expr
left:
name_expr
identifier: identifier "x"
left: name_node "x"
operator: infix_operator "*"
right: int_literal "2"
Original file line number Diff line number Diff line change
Expand Up @@ -45,19 +45,13 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "f"
pattern: name_node "f"
value:
function_expr
body:
block
stmt:
binary_expr
left:
name_expr
identifier: identifier "$0"
left: name_node "$0"
operator: infix_operator "+"
right:
name_expr
identifier: identifier "$1"
right: name_node "$1"
Original file line number Diff line number Diff line change
Expand Up @@ -99,42 +99,28 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "f"
pattern: name_node "f"
value:
function_expr
parameter:
parameter
type:
named_type_expr
name: identifier "Int"
pattern:
name_pattern
identifier: identifier "x"
return_type:
named_type_expr
name: identifier "Int"
type: name_node "Int"
pattern: name_node "x"
return_type: name_node "Int"
body:
block
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "y"
pattern: name_node "y"
value:
binary_expr
left:
name_expr
identifier: identifier "x"
left: name_node "x"
operator: infix_operator "+"
right: int_literal "1"
return_expr
value:
binary_expr
left:
name_expr
identifier: identifier "y"
left: name_node "y"
operator: infix_operator "*"
right: int_literal "2"
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,8 @@ top_level
call_expr
callee:
member_access_expr
base:
name_expr
identifier: identifier "xs"
member: identifier "map"
base: name_node "xs"
member_name_node: name_node "map"
argument:
argument
value:
Expand All @@ -58,8 +56,6 @@ top_level
block
stmt:
binary_expr
left:
name_expr
identifier: identifier "$0"
left: name_node "$0"
operator: infix_operator "*"
right: int_literal "2"
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,7 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "xs"
pattern: name_node "xs"
value:
array_literal
element:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,5 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "d"
pattern: name_node "d"
value: map_literal "[\"a\": 1, \"b\": 2]"
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,10 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "v"
pattern: name_node "v"
value:
call_expr
callee:
name_expr
identifier: identifier "d"
callee: name_node "d"
argument:
argument
value: string_literal "\"key\""
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,9 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "xs"
pattern: name_node "xs"
type:
generic_type_expr
base:
named_type_expr
name: identifier "Array"
type_argument:
named_type_expr
name: identifier "Int"
base: name_node "Array"
type_argument: name_node "Int"
value: array_literal "[]"
Original file line number Diff line number Diff line change
Expand Up @@ -62,17 +62,11 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "s"
pattern: name_node "s"
type:
generic_type_expr
base:
named_type_expr
name: identifier "Set"
type_argument:
named_type_expr
name: identifier "Int"
base: name_node "Set"
type_argument: name_node "Int"
value:
array_literal
element:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,10 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "first"
pattern: name_node "first"
value:
call_expr
callee:
name_expr
identifier: identifier "xs"
callee: name_node "xs"
argument:
argument
value: int_literal "0"
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,5 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "t"
pattern: name_node "t"
value: tuple_expr "(1, \"two\", 3.0)"
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,8 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "n"
pattern: name_node "n"
value:
member_access_expr
base:
name_expr
identifier: identifier "t"
member: identifier "0"
base: name_node "t"
member_name_node: name_node "0"
Original file line number Diff line number Diff line change
Expand Up @@ -90,28 +90,18 @@ top_level
stmt:
variable_declaration
modifier: modifier "let"
pattern:
name_pattern
identifier: identifier "x"
pattern: name_node "x"
value: int_literal "1"
switch_expr
value:
name_expr
identifier: identifier "y"
value: name_node "y"
case:
switch_case
pattern:
expr_equality_pattern
expr:
name_expr
identifier: identifier "someConstant"
pattern: name_node "someConstant"
body:
block
stmt:
call_expr
callee:
name_expr
identifier: identifier "print"
callee: name_node "print"
argument:
argument
value: string_literal "\"matched\""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,15 +80,13 @@ top_level
block
stmt:
function_declaration
name: identifier "withCleanup"
name_node: name_node "withCleanup"
body:
block
stmt:
unsupported_node "defer { print(\"cleanup\") }"
call_expr
callee:
name_expr
identifier: identifier "print"
callee: name_node "print"
argument:
argument
value: string_literal "\"work\""
Original file line number Diff line number Diff line change
Expand Up @@ -69,13 +69,13 @@ top_level
stmt:
class_like_declaration
modifier: modifier "struct"
name: identifier "Resource"
name_node: name_node "Resource"
base_type:
base_type
type: unsupported_node "~Copyable"
member:
function_declaration
name: identifier "close"
name_node: name_node "close"
body:
block
stmt: unsupported_node "discard self"
Original file line number Diff line number Diff line change
Expand Up @@ -87,28 +87,20 @@ top_level
block
stmt:
function_declaration
name: identifier "classify"
name_node: name_node "classify"
parameter:
parameter
external_name: identifier "_"
type:
named_type_expr
name: identifier "Int"
pattern:
name_pattern
identifier: identifier "x"
external_name_node: name_node "_"
type: name_node "Int"
pattern: name_node "x"
body:
block
stmt:
switch_expr
value:
name_expr
identifier: identifier "x"
value: name_node "x"
case:
switch_case
pattern:
expr_equality_pattern
expr: int_literal "1"
pattern: int_literal "1"
body:
block
stmt: unsupported_node "fallthrough"
Expand Down
Loading
Loading