@@ -312,6 +312,8 @@ func (n *Node) Text() string {
312
312
return n .AsNumericLiteral ().Text
313
313
case KindBigIntLiteral :
314
314
return n .AsBigIntLiteral ().Text
315
+ case KindMetaProperty :
316
+ return n .AsMetaProperty ().Name ().Text ()
315
317
case KindNoSubstitutionTemplateLiteral :
316
318
return n .AsNoSubstitutionTemplateLiteral ().Text
317
319
case KindTemplateHead :
@@ -894,7 +896,7 @@ func (n *Node) IsTypeOnly() bool {
894
896
case KindImportSpecifier :
895
897
return n .AsImportSpecifier ().IsTypeOnly
896
898
case KindImportClause :
897
- return n .AsImportClause ().IsTypeOnly
899
+ return n .AsImportClause ().PhaseModifier == KindTypeKeyword
898
900
case KindExportDeclaration :
899
901
return n .AsExportDeclaration ().IsTypeOnly
900
902
case KindExportSpecifier :
@@ -4945,22 +4947,22 @@ type ImportClause struct {
4945
4947
DeclarationBase
4946
4948
ExportableBase
4947
4949
compositeNodeBase
4948
- IsTypeOnly bool
4950
+ PhaseModifier Kind // KindTypeKeyword | KindDeferKeyword
4949
4951
NamedBindings * NamedImportBindings // NamedImportBindings. Optional, named bindings
4950
4952
name * IdentifierNode // IdentifierNode. Optional, default binding
4951
4953
}
4952
4954
4953
- func (f * NodeFactory ) NewImportClause (isTypeOnly bool , name * IdentifierNode , namedBindings * NamedImportBindings ) * Node {
4955
+ func (f * NodeFactory ) NewImportClause (phaseModifier Kind , name * IdentifierNode , namedBindings * NamedImportBindings ) * Node {
4954
4956
data := & ImportClause {}
4955
- data .IsTypeOnly = isTypeOnly
4957
+ data .PhaseModifier = phaseModifier
4956
4958
data .name = name
4957
4959
data .NamedBindings = namedBindings
4958
4960
return f .newNode (KindImportClause , data )
4959
4961
}
4960
4962
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 )
4964
4966
}
4965
4967
return node .AsNode ()
4966
4968
}
@@ -4970,19 +4972,19 @@ func (node *ImportClause) ForEachChild(v Visitor) bool {
4970
4972
}
4971
4973
4972
4974
func (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 ))
4974
4976
}
4975
4977
4976
4978
func (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 )
4978
4980
}
4979
4981
4980
4982
func (node * ImportClause ) Name () * DeclarationName {
4981
4983
return node .name
4982
4984
}
4983
4985
4984
4986
func (node * ImportClause ) computeSubtreeFacts () SubtreeFacts {
4985
- if node .IsTypeOnly {
4987
+ if node .PhaseModifier == KindTypeKeyword {
4986
4988
return SubtreeContainsTypeScript
4987
4989
} else {
4988
4990
return propagateSubtreeFacts (node .name ) |
0 commit comments