@@ -617,6 +617,8 @@ func (n *Node) StatementList() *NodeList {
617617 return n .AsBlock ().Statements
618618 case KindModuleBlock :
619619 return n .AsModuleBlock ().Statements
620+ case KindCaseClause , KindDefaultClause :
621+ return n .AsCaseOrDefaultClause ().Statements
620622 }
621623 panic ("Unhandled case in Node.StatementList: " + n .Kind .String ())
622624}
@@ -1038,6 +1040,10 @@ func (n *Node) Statement() *Statement {
10381040 return n .AsForStatement ().Statement
10391041 case KindForInStatement , KindForOfStatement :
10401042 return n .AsForInOrOfStatement ().Statement
1043+ case KindWithStatement :
1044+ return n .AsWithStatement ().Statement
1045+ case KindLabeledStatement :
1046+ return n .AsLabeledStatement ().Statement
10411047 }
10421048 panic ("Unhandled case in Node.Statement: " + n .Kind .String ())
10431049}
@@ -1068,8 +1074,11 @@ func (n *Node) ElementList() *NodeList {
10681074 return n .AsNamedExports ().Elements
10691075 case KindObjectBindingPattern , KindArrayBindingPattern :
10701076 return n .AsBindingPattern ().Elements
1077+ case KindArrayLiteralExpression :
1078+ return n .AsArrayLiteralExpression ().Elements
1079+ case KindTupleType :
1080+ return n .AsTupleTypeNode ().Elements
10711081 }
1072-
10731082 panic ("Unhandled case in Node.ElementList: " + n .Kind .String ())
10741083}
10751084
@@ -1081,22 +1090,22 @@ func (n *Node) Elements() []*Node {
10811090 return nil
10821091}
10831092
1084- func (n * Node ) postfixToken () * Node {
1093+ func (n * Node ) PostfixToken () * Node {
10851094 switch n .Kind {
1086- case KindEnumMember :
1087- return n .AsEnumMember ().PostfixToken
1088- case KindPropertyAssignment :
1089- return n .AsPropertyAssignment ().PostfixToken
1095+ case KindMethodDeclaration :
1096+ return n .AsMethodDeclaration ().PostfixToken
10901097 case KindShorthandPropertyAssignment :
10911098 return n .AsShorthandPropertyAssignment ().PostfixToken
1099+ case KindMethodSignature :
1100+ return n .AsMethodSignatureDeclaration ().PostfixToken
10921101 case KindPropertySignature :
10931102 return n .AsPropertySignatureDeclaration ().PostfixToken
1103+ case KindPropertyAssignment :
1104+ return n .AsPropertyAssignment ().PostfixToken
10941105 case KindPropertyDeclaration :
10951106 return n .AsPropertyDeclaration ().PostfixToken
1096- case KindMethodSignature :
1097- return n .AsMethodSignatureDeclaration ().PostfixToken
1098- case KindMethodDeclaration :
1099- return n .AsMethodDeclaration ().PostfixToken
1107+ case KindEnumMember :
1108+ return n .AsEnumMember ().PostfixToken
11001109 case KindGetAccessor :
11011110 return n .AsGetAccessorDeclaration ().PostfixToken
11021111 case KindSetAccessor :
@@ -1116,7 +1125,7 @@ func (n *Node) QuestionToken() *TokenNode {
11161125 case KindNamedTupleMember :
11171126 return n .AsNamedTupleMember ().QuestionToken
11181127 }
1119- postfix := n .postfixToken ()
1128+ postfix := n .PostfixToken ()
11201129 if postfix != nil && postfix .Kind == KindQuestionToken {
11211130 return postfix
11221131 }
@@ -1163,26 +1172,6 @@ func (n *Node) ClassName() *Node {
11631172 panic ("Unhandled case in Node.ClassName: " + n .Kind .String ())
11641173}
11651174
1166- func (n * Node ) PostfixToken () * Node {
1167- switch n .Kind {
1168- case KindParameter :
1169- return n .AsParameterDeclaration ().QuestionToken
1170- case KindMethodDeclaration :
1171- return n .AsMethodDeclaration ().PostfixToken
1172- case KindShorthandPropertyAssignment :
1173- return n .AsShorthandPropertyAssignment ().PostfixToken
1174- case KindMethodSignature :
1175- return n .AsMethodSignatureDeclaration ().PostfixToken
1176- case KindPropertySignature :
1177- return n .AsPropertySignatureDeclaration ().PostfixToken
1178- case KindPropertyAssignment :
1179- return n .AsPropertyAssignment ().PostfixToken
1180- case KindPropertyDeclaration :
1181- return n .AsPropertyDeclaration ().PostfixToken
1182- }
1183- return nil
1184- }
1185-
11861175// Determines if `n` contains `descendant` by walking up the `Parent` pointers from `descendant`. This method panics if
11871176// `descendant` or one of its ancestors is not parented except when that node is a `SourceFile`.
11881177func (n * Node ) Contains (descendant * Node ) bool {
@@ -11045,7 +11034,7 @@ func (node *SourceFile) computeDeclarationMap() map[string][]*Node {
1104511034 exportClause := node .AsExportDeclaration ().ExportClause
1104611035 if exportClause != nil {
1104711036 if IsNamedExports (exportClause ) {
11048- for _ , element := range exportClause .AsNamedExports (). Elements . Nodes {
11037+ for _ , element := range exportClause .Elements () {
1104911038 visit (element )
1105011039 }
1105111040 } else {
@@ -11068,7 +11057,7 @@ func (node *SourceFile) computeDeclarationMap() map[string][]*Node {
1106811057 if namedBindings .Kind == KindNamespaceImport {
1106911058 addDeclaration (namedBindings )
1107011059 } else {
11071- for _ , element := range namedBindings .AsNamedImports (). Elements . Nodes {
11060+ for _ , element := range namedBindings .Elements () {
1107211061 visit (element )
1107311062 }
1107411063 }
0 commit comments