@@ -548,8 +548,8 @@ func (n *Node) Type() *Node {
548
548
return n .AsTemplateLiteralTypeSpan ().Type
549
549
case KindJSDocTypeExpression :
550
550
return n .AsJSDocTypeExpression ().Type
551
- case KindJSDocPropertyTag :
552
- return n .AsJSDocPropertyTag ().TypeExpression
551
+ case KindJSDocParameterTag , KindJSDocPropertyTag :
552
+ return n .AsJSDocParameterOrPropertyTag ().TypeExpression
553
553
case KindJSDocNullableType :
554
554
return n .AsJSDocNullableType ().Type
555
555
case KindJSDocNonNullableType :
@@ -623,8 +623,8 @@ func (n *Node) TagName() *Node {
623
623
return n .AsJSDocCallbackTag ().TagName
624
624
case KindJSDocOverloadTag :
625
625
return n .AsJSDocOverloadTag ().TagName
626
- case KindJSDocParameterTag :
627
- return n .AsJSDocParameterTag ().TagName
626
+ case KindJSDocParameterTag , KindJSDocPropertyTag :
627
+ return n .AsJSDocParameterOrPropertyTag ().TagName
628
628
case KindJSDocReturnTag :
629
629
return n .AsJSDocReturnTag ().TagName
630
630
case KindJSDocThisTag :
@@ -637,8 +637,6 @@ func (n *Node) TagName() *Node {
637
637
return n .AsJSDocTypedefTag ().TagName
638
638
case KindJSDocSeeTag :
639
639
return n .AsJSDocSeeTag ().TagName
640
- case KindJSDocPropertyTag :
641
- return n .AsJSDocPropertyTag ().TagName
642
640
case KindJSDocSatisfiesTag :
643
641
return n .AsJSDocSatisfiesTag ().TagName
644
642
case KindJSDocImportTag :
@@ -709,8 +707,8 @@ func (n *Node) CommentList() *NodeList {
709
707
return n .AsJSDocCallbackTag ().Comment
710
708
case KindJSDocOverloadTag :
711
709
return n .AsJSDocOverloadTag ().Comment
712
- case KindJSDocParameterTag :
713
- return n .AsJSDocParameterTag ().Comment
710
+ case KindJSDocParameterTag , KindJSDocPropertyTag :
711
+ return n .AsJSDocParameterOrPropertyTag ().Comment
714
712
case KindJSDocReturnTag :
715
713
return n .AsJSDocReturnTag ().Comment
716
714
case KindJSDocThisTag :
@@ -723,8 +721,6 @@ func (n *Node) CommentList() *NodeList {
723
721
return n .AsJSDocTypedefTag ().Comment
724
722
case KindJSDocSeeTag :
725
723
return n .AsJSDocSeeTag ().Comment
726
- case KindJSDocPropertyTag :
727
- return n .AsJSDocPropertyTag ().Comment
728
724
case KindJSDocSatisfiesTag :
729
725
return n .AsJSDocSatisfiesTag ().Comment
730
726
case KindJSDocImportTag :
@@ -1520,12 +1516,8 @@ func (n *Node) AsJSDocTemplateTag() *JSDocTemplateTag {
1520
1516
return n .data .(* JSDocTemplateTag )
1521
1517
}
1522
1518
1523
- func (n * Node ) AsJSDocPropertyTag () * JSDocPropertyTag {
1524
- return n .data .(* JSDocPropertyTag )
1525
- }
1526
-
1527
- func (n * Node ) AsJSDocParameterTag () * JSDocParameterTag {
1528
- return n .data .(* JSDocParameterTag )
1519
+ func (n * Node ) AsJSDocParameterOrPropertyTag () * JSDocParameterOrPropertyTag {
1520
+ return n .data .(* JSDocParameterOrPropertyTag )
1529
1521
}
1530
1522
1531
1523
func (n * Node ) AsJSDocReturnTag () * JSDocReturnTag {
@@ -1846,7 +1838,7 @@ func IsDeclarationNode(node *Node) bool {
1846
1838
return node .DeclarationData () != nil
1847
1839
}
1848
1840
1849
- // DeclarationBase
1841
+ // ExportableBase
1850
1842
1851
1843
type ExportableBase struct {
1852
1844
LocalSymbol * Symbol // Local symbol declared by node (initialized by binding only for exported nodes)
@@ -9198,112 +9190,70 @@ func (node *JSDocTemplateTag) Clone(f NodeFactoryCoercible) *Node {
9198
9190
return cloneNode (f .AsNodeFactory ().NewJSDocTemplateTag (node .TagName , node .Constraint , node .TypeParameters , node .Comment ), node .AsNode (), f .AsNodeFactory ().hooks )
9199
9191
}
9200
9192
9201
- // JSDocPropertyTag
9202
- type JSDocPropertyTag struct {
9193
+ // JSDocParameterOrPropertyTag
9194
+ type JSDocParameterOrPropertyTag struct {
9203
9195
JSDocTagBase
9204
9196
name * EntityName
9205
9197
IsBracketed bool
9206
9198
TypeExpression * TypeNode
9207
9199
IsNameFirst bool
9208
9200
}
9209
9201
9210
- func (f * NodeFactory ) NewJSDocPropertyTag (tagName * IdentifierNode , name * EntityName , isBracketed bool , typeExpression * TypeNode , isNameFirst bool , comment * NodeList ) * Node {
9211
- data := & JSDocPropertyTag {}
9202
+ type (
9203
+ JSDocParameterTag = JSDocParameterOrPropertyTag
9204
+ JSDocPropertyTag = JSDocParameterOrPropertyTag
9205
+ )
9206
+
9207
+ func (f * NodeFactory ) newJSDocParameterOrPropertyTag (kind Kind , tagName * IdentifierNode , name * EntityName , isBracketed bool , typeExpression * TypeNode , isNameFirst bool , comment * NodeList ) * Node {
9208
+ data := & JSDocParameterOrPropertyTag {}
9212
9209
data .TagName = tagName
9213
9210
data .name = name
9214
9211
data .IsBracketed = isBracketed
9215
9212
data .TypeExpression = typeExpression
9216
9213
data .IsNameFirst = isNameFirst
9217
9214
data .Comment = comment
9218
- return f .newNode (KindJSDocPropertyTag , data )
9219
- }
9220
-
9221
- func (f * NodeFactory ) UpdateJSDocPropertyTag (node * JSDocPropertyTag , tagName * IdentifierNode , name * EntityName , isBracketed bool , typeExpression * TypeNode , isNameFirst bool , comment * NodeList ) * Node {
9222
- if tagName != node .TagName || name != node .name || isBracketed != node .IsBracketed || typeExpression != node .TypeExpression || isNameFirst != node .IsNameFirst || comment != node .Comment {
9223
- return updateNode (f .NewJSDocPropertyTag (tagName , name , isBracketed , typeExpression , isNameFirst , comment ), node .AsNode (), f .hooks )
9224
- }
9225
- return node .AsNode ()
9226
- }
9227
-
9228
- func (node * JSDocPropertyTag ) ForEachChild (v Visitor ) bool {
9229
- if node .IsNameFirst {
9230
- return visit (v , node .TagName ) || visit (v , node .name ) || visit (v , node .TypeExpression ) || visitNodeList (v , node .Comment )
9231
- } else {
9232
- return visit (v , node .TagName ) || visit (v , node .TypeExpression ) || visit (v , node .name ) || visitNodeList (v , node .Comment )
9233
- }
9234
- }
9235
-
9236
- func (node * JSDocPropertyTag ) VisitEachChild (v * NodeVisitor ) * Node {
9237
- tagName := v .visitNode (node .TagName )
9238
- var name , typeExpression * Node
9239
- if node .IsNameFirst {
9240
- name , typeExpression = v .visitNode (node .name ), v .visitNode (node .TypeExpression )
9241
- } else {
9242
- typeExpression , name = v .visitNode (node .TypeExpression ), v .visitNode (node .name )
9243
- }
9244
- return v .Factory .UpdateJSDocPropertyTag (node , tagName , name , node .IsBracketed , typeExpression , node .IsNameFirst , v .visitNodes (node .Comment ))
9245
- }
9246
-
9247
- func (node * JSDocPropertyTag ) Clone (f NodeFactoryCoercible ) * Node {
9248
- return cloneNode (f .AsNodeFactory ().NewJSDocPropertyTag (node .TagName , node .Name (), node .IsBracketed , node .TypeExpression , node .IsNameFirst , node .Comment ), node .AsNode (), f .AsNodeFactory ().hooks )
9215
+ return f .newNode (kind , data )
9249
9216
}
9250
9217
9251
- func (node * JSDocPropertyTag ) Name () * EntityName { return node .name }
9252
-
9253
- // JSDocParameterTag
9254
- type JSDocParameterTag struct {
9255
- JSDocTagBase
9256
- name * EntityName
9257
- IsBracketed bool
9258
- TypeExpression * TypeNode
9259
- IsNameFirst bool
9218
+ func (f * NodeFactory ) NewJSDocParameterTag (tagName * IdentifierNode , name * EntityName , isBracketed bool , typeExpression * TypeNode , isNameFirst bool , comment * NodeList ) * Node {
9219
+ return f .newJSDocParameterOrPropertyTag (KindJSDocParameterTag , tagName , name , isBracketed , typeExpression , isNameFirst , comment )
9260
9220
}
9261
9221
9262
- func (f * NodeFactory ) NewJSDocParameterTag (tagName * IdentifierNode , name * EntityName , isBracketed bool , typeExpression * TypeNode , isNameFirst bool , comment * NodeList ) * Node {
9263
- data := & JSDocParameterTag {}
9264
- data .TagName = tagName
9265
- data .name = name
9266
- data .IsBracketed = isBracketed
9267
- data .TypeExpression = typeExpression
9268
- data .IsNameFirst = isNameFirst
9269
- data .Comment = comment
9270
- return f .newNode (KindJSDocParameterTag , data )
9222
+ func (f * NodeFactory ) NewJSDocPropertyTag (tagName * IdentifierNode , name * EntityName , isBracketed bool , typeExpression * TypeNode , isNameFirst bool , comment * NodeList ) * Node {
9223
+ return f .newJSDocParameterOrPropertyTag (KindJSDocPropertyTag , tagName , name , isBracketed , typeExpression , isNameFirst , comment )
9271
9224
}
9272
9225
9273
- func (f * NodeFactory ) UpdateJSDocParameterTag ( node * JSDocParameterTag , tagName * IdentifierNode , name * EntityName , isBracketed bool , typeExpression * TypeNode , isNameFirst bool , comment * NodeList ) * Node {
9226
+ func (f * NodeFactory ) UpdateJSDocParameterOrPropertyTag ( kind Kind , node * JSDocParameterOrPropertyTag , tagName * IdentifierNode , name * EntityName , isBracketed bool , typeExpression * TypeNode , isNameFirst bool , comment * NodeList ) * Node {
9274
9227
if tagName != node .TagName || name != node .name || isBracketed != node .IsBracketed || typeExpression != node .TypeExpression || isNameFirst != node .IsNameFirst || comment != node .Comment {
9275
- return updateNode (f .NewJSDocParameterTag ( tagName , name , isBracketed , typeExpression , isNameFirst , comment ), node .AsNode (), f .hooks )
9228
+ return updateNode (f .newJSDocParameterOrPropertyTag ( kind , tagName , name , isBracketed , typeExpression , isNameFirst , comment ), node .AsNode (), f .hooks )
9276
9229
}
9277
9230
return node .AsNode ()
9278
9231
}
9279
9232
9280
- func (node * JSDocParameterTag ) ForEachChild (v Visitor ) bool {
9281
- if visit (v , node .TagName ) {
9282
- return true
9283
- }
9233
+ func (node * JSDocParameterOrPropertyTag ) ForEachChild (v Visitor ) bool {
9284
9234
if node .IsNameFirst {
9285
- return visit (v , node .name ) || visit (v , node .TypeExpression ) || visitNodeList (v , node .Comment )
9235
+ return visit (v , node .TagName ) || visit ( v , node . name ) || visit (v , node .TypeExpression ) || visitNodeList (v , node .Comment )
9286
9236
} else {
9287
- return visit (v , node .TypeExpression ) || visit (v , node .name ) || visitNodeList (v , node .Comment )
9237
+ return visit (v , node .TagName ) || visit ( v , node . TypeExpression ) || visit (v , node .name ) || visitNodeList (v , node .Comment )
9288
9238
}
9289
9239
}
9290
9240
9291
- func (node * JSDocParameterTag ) VisitEachChild (v * NodeVisitor ) * Node {
9241
+ func (node * JSDocParameterOrPropertyTag ) VisitEachChild (v * NodeVisitor ) * Node {
9292
9242
tagName := v .visitNode (node .TagName )
9293
9243
var name , typeExpression * Node
9294
9244
if node .IsNameFirst {
9295
9245
name , typeExpression = v .visitNode (node .name ), v .visitNode (node .TypeExpression )
9296
9246
} else {
9297
9247
typeExpression , name = v .visitNode (node .TypeExpression ), v .visitNode (node .name )
9298
9248
}
9299
- return v .Factory .UpdateJSDocParameterTag ( node , tagName , name , node .IsBracketed , typeExpression , node .IsNameFirst , v .visitNodes (node .Comment ))
9249
+ return v .Factory .UpdateJSDocParameterOrPropertyTag ( node . Kind , node , tagName , name , node .IsBracketed , typeExpression , node .IsNameFirst , v .visitNodes (node .Comment ))
9300
9250
}
9301
9251
9302
- func (node * JSDocParameterTag ) Clone (f NodeFactoryCoercible ) * Node {
9303
- return cloneNode (f .AsNodeFactory ().NewJSDocParameterTag ( node .TagName , node .Name (), node .IsBracketed , node .TypeExpression , node .IsNameFirst , node .Comment ), node .AsNode (), f .AsNodeFactory ().hooks )
9252
+ func (node * JSDocParameterOrPropertyTag ) Clone (f NodeFactoryCoercible ) * Node {
9253
+ return cloneNode (f .AsNodeFactory ().newJSDocParameterOrPropertyTag ( node . Kind , node .TagName , node .Name (), node .IsBracketed , node .TypeExpression , node .IsNameFirst , node .Comment ), node .AsNode (), f .AsNodeFactory ().hooks )
9304
9254
}
9305
9255
9306
- func (node * JSDocParameterTag ) Name () * EntityName { return node .name }
9256
+ func (node * JSDocParameterOrPropertyTag ) Name () * EntityName { return node .name }
9307
9257
9308
9258
// JSDocReturnTag
9309
9259
type JSDocReturnTag struct {
0 commit comments