Skip to content
Merged
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
4 changes: 4 additions & 0 deletions unified/extractor/src/languages/swift/swift.rs
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,7 @@ fn translation_rules() -> Vec<Rule<SwiftContext>> {
// an empty `block`.
rule!(
(functionDecl
modifiers: _* @mods
name: @name
genericParameterClause: (genericParameterClause parameters: _* @type_params)?
signature: (functionSignature
Expand All @@ -566,6 +567,7 @@ fn translation_rules() -> Vec<Rule<SwiftContext>> {
body: (codeBlock statements: _* @body))
=>
(function_declaration
modifier: {mods}
name_node: (identifier #{name})
type_parameter: {type_params}
parameter: {params}
Expand All @@ -574,13 +576,15 @@ fn translation_rules() -> Vec<Rule<SwiftContext>> {
),
rule!(
(functionDecl
modifiers: _* @mods
Comment thread
hvitved marked this conversation as resolved.
name: @name
genericParameterClause: (genericParameterClause parameters: _* @type_params)?
signature: (functionSignature
parameterClause: (functionParameterClause parameters: _* @params)
returnClause: (returnClause type: @ret)?))
=>
(function_declaration
modifier: {mods}
name_node: (identifier #{name})
type_parameter: {type_params}
parameter: {params}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ top_level
type: unsupported_node "~Copyable"
member:
function_declaration
modifier: modifier "consuming"
name_node: identifier "close"
body:
block
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
class Factory {
class func make() {}
}

---

sourceFile
endOfFileToken: endOfFile
statements:
codeBlockItem
item:
classDecl
attributes:
name: identifier "Factory"
memberBlock:
memberBlock
leftBrace: {
rightBrace: }
members:
memberBlockItem
decl:
functionDecl
attributes:
body:
codeBlock
leftBrace: {
rightBrace: }
statements:
name: identifier "make"
modifiers:
declModifier
name: class
signature:
functionSignature
parameterClause:
functionParameterClause
leftParen: (
rightParen: )
parameters:
funcKeyword: func
modifiers:
classKeyword: class

---

top_level
body:
block
stmt:
class_like_declaration
modifier: modifier "class"
name_node: identifier "Factory"
member:
function_declaration
modifier: modifier "class"
name_node: identifier "make"
body: block "class func make() {}"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
class Factory {
class func make() {}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
protocol Drawable {
func draw()
static func make()
}

---
Expand Down Expand Up @@ -31,6 +32,22 @@ sourceFile
rightParen: )
parameters:
funcKeyword: func
memberBlockItem
decl:
functionDecl
attributes:
name: identifier "make"
modifiers:
declModifier
name: static
signature:
functionSignature
parameterClause:
functionParameterClause
leftParen: (
rightParen: )
parameters:
funcKeyword: func
modifiers:
protocolKeyword: protocol

Expand All @@ -47,3 +64,7 @@ top_level
function_declaration
name_node: identifier "draw"
body: block "func draw()"
function_declaration
modifier: modifier "static"
name_node: identifier "make"
body: block "static func make()"
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
protocol Drawable {
func draw()
static func make()
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
class Factory {
static func make() {}
}

---

sourceFile
endOfFileToken: endOfFile
statements:
codeBlockItem
item:
classDecl
attributes:
name: identifier "Factory"
memberBlock:
memberBlock
leftBrace: {
rightBrace: }
members:
memberBlockItem
decl:
functionDecl
attributes:
body:
codeBlock
leftBrace: {
rightBrace: }
statements:
name: identifier "make"
modifiers:
declModifier
name: static
signature:
functionSignature
parameterClause:
functionParameterClause
leftParen: (
rightParen: )
parameters:
funcKeyword: func
modifiers:
classKeyword: class

---

top_level
body:
block
stmt:
class_like_declaration
modifier: modifier "class"
name_node: identifier "Factory"
member:
function_declaration
modifier: modifier "static"
name_node: identifier "make"
body: block "static func make() {}"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
class Factory {
static func make() {}
}
Loading