@@ -287,6 +287,8 @@ func (n *Node) Expression() *Node {
287
287
return n .AsExternalModuleReference ().Expression
288
288
case KindExportAssignment :
289
289
return n .AsExportAssignment ().Expression
290
+ case KindDecorator :
291
+ return n .AsDecorator ().Expression
290
292
}
291
293
panic ("Unhandled case in Node.Expression" )
292
294
}
@@ -402,6 +404,14 @@ func (n *Node) ModifierFlags() ModifierFlags {
402
404
return ModifierFlagsNone
403
405
}
404
406
407
+ func (n * Node ) ModifierNodes () []* Node {
408
+ modifiers := n .Modifiers ()
409
+ if modifiers != nil {
410
+ return modifiers .Nodes
411
+ }
412
+ return nil
413
+ }
414
+
405
415
func (n * Node ) Type () * Node {
406
416
switch n .Kind {
407
417
case KindVariableDeclaration :
@@ -555,54 +565,62 @@ func (n *Node) PropertyNameOrName() *Node {
555
565
return name
556
566
}
557
567
558
- func (n * Node ) Comments () [] * Node {
568
+ func (n * Node ) CommentList () * NodeList {
559
569
switch n .Kind {
560
570
case KindJSDoc :
561
- return n .AsJSDoc ().Comment . Nodes
571
+ return n .AsJSDoc ().Comment
562
572
case KindJSDocTag :
563
- return n .AsJSDocUnknownTag ().Comment . Nodes
573
+ return n .AsJSDocUnknownTag ().Comment
564
574
case KindJSDocAugmentsTag :
565
- return n .AsJSDocAugmentsTag ().Comment . Nodes
575
+ return n .AsJSDocAugmentsTag ().Comment
566
576
case KindJSDocImplementsTag :
567
- return n .AsJSDocImplementsTag ().Comment . Nodes
577
+ return n .AsJSDocImplementsTag ().Comment
568
578
case KindJSDocDeprecatedTag :
569
- return n .AsJSDocDeprecatedTag ().Comment . Nodes
579
+ return n .AsJSDocDeprecatedTag ().Comment
570
580
case KindJSDocPublicTag :
571
- return n .AsJSDocPublicTag ().Comment . Nodes
581
+ return n .AsJSDocPublicTag ().Comment
572
582
case KindJSDocPrivateTag :
573
- return n .AsJSDocPrivateTag ().Comment . Nodes
583
+ return n .AsJSDocPrivateTag ().Comment
574
584
case KindJSDocProtectedTag :
575
- return n .AsJSDocProtectedTag ().Comment . Nodes
585
+ return n .AsJSDocProtectedTag ().Comment
576
586
case KindJSDocReadonlyTag :
577
- return n .AsJSDocReadonlyTag ().Comment . Nodes
587
+ return n .AsJSDocReadonlyTag ().Comment
578
588
case KindJSDocOverrideTag :
579
- return n .AsJSDocOverrideTag ().Comment . Nodes
589
+ return n .AsJSDocOverrideTag ().Comment
580
590
case KindJSDocCallbackTag :
581
- return n .AsJSDocCallbackTag ().Comment . Nodes
591
+ return n .AsJSDocCallbackTag ().Comment
582
592
case KindJSDocOverloadTag :
583
- return n .AsJSDocOverloadTag ().Comment . Nodes
593
+ return n .AsJSDocOverloadTag ().Comment
584
594
case KindJSDocParameterTag :
585
- return n .AsJSDocParameterTag ().Comment . Nodes
595
+ return n .AsJSDocParameterTag ().Comment
586
596
case KindJSDocReturnTag :
587
- return n .AsJSDocReturnTag ().Comment . Nodes
597
+ return n .AsJSDocReturnTag ().Comment
588
598
case KindJSDocThisTag :
589
- return n .AsJSDocThisTag ().Comment . Nodes
599
+ return n .AsJSDocThisTag ().Comment
590
600
case KindJSDocTypeTag :
591
- return n .AsJSDocTypeTag ().Comment . Nodes
601
+ return n .AsJSDocTypeTag ().Comment
592
602
case KindJSDocTemplateTag :
593
- return n .AsJSDocTemplateTag ().Comment . Nodes
603
+ return n .AsJSDocTemplateTag ().Comment
594
604
case KindJSDocTypedefTag :
595
- return n .AsJSDocTypedefTag ().Comment . Nodes
605
+ return n .AsJSDocTypedefTag ().Comment
596
606
case KindJSDocSeeTag :
597
- return n .AsJSDocSeeTag ().Comment . Nodes
607
+ return n .AsJSDocSeeTag ().Comment
598
608
case KindJSDocPropertyTag :
599
- return n .AsJSDocPropertyTag ().Comment . Nodes
609
+ return n .AsJSDocPropertyTag ().Comment
600
610
case KindJSDocSatisfiesTag :
601
- return n .AsJSDocSatisfiesTag ().Comment . Nodes
611
+ return n .AsJSDocSatisfiesTag ().Comment
602
612
case KindJSDocImportTag :
603
- return n .AsJSDocImportTag ().Comment .Nodes
613
+ return n .AsJSDocImportTag ().Comment
614
+ }
615
+ panic ("Unhandled case in Node.CommentList: " + n .Kind .String ())
616
+ }
617
+
618
+ func (n * Node ) Comments () []* Node {
619
+ list := n .CommentList ()
620
+ if list != nil {
621
+ return list .Nodes
604
622
}
605
- panic ( "Unhandled case in Node.Comments: " + n . Kind . String ())
623
+ return nil
606
624
}
607
625
608
626
func (n * Node ) Label () * Node {
@@ -7872,6 +7890,10 @@ func (node *SourceFile) SetJSDocDiagnostics(diags []*Diagnostic) {
7872
7890
node .jsdocDiagnostics = diags
7873
7891
}
7874
7892
7893
+ func (node * SourceFile ) JSDocCache () map [* Node ][]* Node {
7894
+ return node .jsdocCache
7895
+ }
7896
+
7875
7897
func (node * SourceFile ) SetJSDocCache (cache map [* Node ][]* Node ) {
7876
7898
node .jsdocCache = cache
7877
7899
}
0 commit comments