File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -564,6 +564,7 @@ fn translation_rules() -> Vec<Rule<SwiftContext>> {
564564 // an empty `block`.
565565 rule!(
566566 ( functionDecl
567+ modifiers: _* @mods
567568 name: @name
568569 genericParameterClause: ( genericParameterClause parameters: _* @type_params) ?
569570 signature: ( functionSignature
@@ -572,6 +573,7 @@ fn translation_rules() -> Vec<Rule<SwiftContext>> {
572573 body: ( codeBlock statements: _* @body) )
573574 =>
574575 ( function_declaration
576+ modifier: { mods}
575577 name: ( identifier #{ name} )
576578 type_parameter: { type_params}
577579 parameter: { params}
@@ -580,13 +582,15 @@ fn translation_rules() -> Vec<Rule<SwiftContext>> {
580582 ) ,
581583 rule!(
582584 ( functionDecl
585+ modifiers: _* @mods
583586 name: @name
584587 genericParameterClause: ( genericParameterClause parameters: _* @type_params) ?
585588 signature: ( functionSignature
586589 parameterClause: ( functionParameterClause parameters: _* @params)
587590 returnClause: ( returnClause type : @ret) ?) )
588591 =>
589592 ( function_declaration
593+ modifier: { mods}
590594 name: ( identifier #{ name} )
591595 type_parameter: { type_params}
592596 parameter: { params}
Original file line number Diff line number Diff line change @@ -75,6 +75,7 @@ top_level
7575 type: unsupported_node "~Copyable"
7676 member:
7777 function_declaration
78+ modifier: modifier "consuming"
7879 name: identifier "close"
7980 body:
8081 block
Original file line number Diff line number Diff line change 1+ class Factory {
2+ class func make() {}
3+ }
4+
5+ ---
6+
7+ sourceFile
8+ endOfFileToken: endOfFile
9+ statements:
10+ codeBlockItem
11+ item:
12+ classDecl
13+ attributes:
14+ name: identifier "Factory"
15+ memberBlock:
16+ memberBlock
17+ leftBrace: {
18+ rightBrace: }
19+ members:
20+ memberBlockItem
21+ decl:
22+ functionDecl
23+ attributes:
24+ body:
25+ codeBlock
26+ leftBrace: {
27+ rightBrace: }
28+ statements:
29+ name: identifier "make"
30+ modifiers:
31+ declModifier
32+ name: class
33+ signature:
34+ functionSignature
35+ parameterClause:
36+ functionParameterClause
37+ leftParen: (
38+ rightParen: )
39+ parameters:
40+ funcKeyword: func
41+ modifiers:
42+ classKeyword: class
43+
44+ ---
45+
46+ top_level
47+ body:
48+ block
49+ stmt:
50+ class_like_declaration
51+ modifier: modifier "class"
52+ name: identifier "Factory"
53+ member:
54+ function_declaration
55+ modifier: modifier "class"
56+ name: identifier "make"
57+ body: block "class func make() {}"
Original file line number Diff line number Diff line change 1+ class Factory {
2+ class func make ( ) { }
3+ }
Original file line number Diff line number Diff line change 1+ class Factory {
2+ static func make() {}
3+ }
4+
5+ ---
6+
7+ sourceFile
8+ endOfFileToken: endOfFile
9+ statements:
10+ codeBlockItem
11+ item:
12+ classDecl
13+ attributes:
14+ name: identifier "Factory"
15+ memberBlock:
16+ memberBlock
17+ leftBrace: {
18+ rightBrace: }
19+ members:
20+ memberBlockItem
21+ decl:
22+ functionDecl
23+ attributes:
24+ body:
25+ codeBlock
26+ leftBrace: {
27+ rightBrace: }
28+ statements:
29+ name: identifier "make"
30+ modifiers:
31+ declModifier
32+ name: static
33+ signature:
34+ functionSignature
35+ parameterClause:
36+ functionParameterClause
37+ leftParen: (
38+ rightParen: )
39+ parameters:
40+ funcKeyword: func
41+ modifiers:
42+ classKeyword: class
43+
44+ ---
45+
46+ top_level
47+ body:
48+ block
49+ stmt:
50+ class_like_declaration
51+ modifier: modifier "class"
52+ name: identifier "Factory"
53+ member:
54+ function_declaration
55+ modifier: modifier "static"
56+ name: identifier "make"
57+ body: block "static func make() {}"
Original file line number Diff line number Diff line change 1+ class Factory {
2+ static func make ( ) { }
3+ }
You can’t perform that action at this time.
0 commit comments