@@ -312,6 +312,8 @@ func (n *Node) Text() string {
312312 return n .AsNumericLiteral ().Text
313313 case KindBigIntLiteral :
314314 return n .AsBigIntLiteral ().Text
315+ case KindMetaProperty :
316+ return n .AsMetaProperty ().Name ().Text ()
315317 case KindNoSubstitutionTemplateLiteral :
316318 return n .AsNoSubstitutionTemplateLiteral ().Text
317319 case KindTemplateHead :
@@ -894,7 +896,7 @@ func (n *Node) IsTypeOnly() bool {
894896 case KindImportSpecifier :
895897 return n .AsImportSpecifier ().IsTypeOnly
896898 case KindImportClause :
897- return n .AsImportClause ().IsTypeOnly
899+ return n .AsImportClause ().PhaseModifier == KindTypeKeyword
898900 case KindExportDeclaration :
899901 return n .AsExportDeclaration ().IsTypeOnly
900902 case KindExportSpecifier :
@@ -4945,22 +4947,22 @@ type ImportClause struct {
49454947 DeclarationBase
49464948 ExportableBase
49474949 compositeNodeBase
4948- IsTypeOnly bool
4950+ PhaseModifier Kind // KindTypeKeyword | KindDeferKeyword
49494951 NamedBindings * NamedImportBindings // NamedImportBindings. Optional, named bindings
49504952 name * IdentifierNode // IdentifierNode. Optional, default binding
49514953}
49524954
4953- func (f * NodeFactory ) NewImportClause (isTypeOnly bool , name * IdentifierNode , namedBindings * NamedImportBindings ) * Node {
4955+ func (f * NodeFactory ) NewImportClause (phaseModifier Kind , name * IdentifierNode , namedBindings * NamedImportBindings ) * Node {
49544956 data := & ImportClause {}
4955- data .IsTypeOnly = isTypeOnly
4957+ data .PhaseModifier = phaseModifier
49564958 data .name = name
49574959 data .NamedBindings = namedBindings
49584960 return f .newNode (KindImportClause , data )
49594961}
49604962
4961- func (f * NodeFactory ) UpdateImportClause (node * ImportClause , isTypeOnly bool , name * IdentifierNode , namedBindings * NamedImportBindings ) * Node {
4962- if isTypeOnly != node .IsTypeOnly || name != node .name || namedBindings != node .NamedBindings {
4963- return updateNode (f .NewImportClause (isTypeOnly , name , namedBindings ), node .AsNode (), f .hooks )
4963+ func (f * NodeFactory ) UpdateImportClause (node * ImportClause , phaseModifier Kind , name * IdentifierNode , namedBindings * NamedImportBindings ) * Node {
4964+ if phaseModifier != node .PhaseModifier || name != node .name || namedBindings != node .NamedBindings {
4965+ return updateNode (f .NewImportClause (phaseModifier , name , namedBindings ), node .AsNode (), f .hooks )
49644966 }
49654967 return node .AsNode ()
49664968}
@@ -4970,19 +4972,19 @@ func (node *ImportClause) ForEachChild(v Visitor) bool {
49704972}
49714973
49724974func (node * ImportClause ) VisitEachChild (v * NodeVisitor ) * Node {
4973- return v .Factory .UpdateImportClause (node , node .IsTypeOnly , v .visitNode (node .name ), v .visitNode (node .NamedBindings ))
4975+ return v .Factory .UpdateImportClause (node , node .PhaseModifier , v .visitNode (node .name ), v .visitNode (node .NamedBindings ))
49744976}
49754977
49764978func (node * ImportClause ) Clone (f NodeFactoryCoercible ) * Node {
4977- return cloneNode (f .AsNodeFactory ().NewImportClause (node .IsTypeOnly , node .Name (), node .NamedBindings ), node .AsNode (), f .AsNodeFactory ().hooks )
4979+ return cloneNode (f .AsNodeFactory ().NewImportClause (node .PhaseModifier , node .Name (), node .NamedBindings ), node .AsNode (), f .AsNodeFactory ().hooks )
49784980}
49794981
49804982func (node * ImportClause ) Name () * DeclarationName {
49814983 return node .name
49824984}
49834985
49844986func (node * ImportClause ) computeSubtreeFacts () SubtreeFacts {
4985- if node .IsTypeOnly {
4987+ if node .PhaseModifier == KindTypeKeyword {
49864988 return SubtreeContainsTypeScript
49874989 } else {
49884990 return propagateSubtreeFacts (node .name ) |
0 commit comments