MCPcopy Create free account
hub / github.com/microsoft/typescript-go / getNextToken

Method getNextToken

internal/format/scanner.go:272–310  ·  view source on GitHub ↗
(n *ast.Node, expectedScanAction scanAction)

Source from the content-addressed store, hash-verified

270}
271
272func (s *formattingScanner) getNextToken(n *ast.Node, expectedScanAction scanAction) ast.Kind {
273 token := s.s.Token()
274 s.lastScanAction = actionScan
275 switch expectedScanAction {
276 case actionRescanGreaterThanToken:
277 if token == ast.KindGreaterThanToken {
278 s.lastScanAction = actionRescanGreaterThanToken
279 newToken := s.s.ReScanGreaterThanToken()
280 debug.Assert(n.Kind == newToken)
281 return newToken
282 }
283 case actionRescanSlashToken:
284 if startsWithSlashToken(token) {
285 s.lastScanAction = actionRescanSlashToken
286 newToken := s.s.ReScanSlashToken()
287 debug.Assert(n.Kind == newToken)
288 return newToken
289 }
290 case actionRescanTemplateToken:
291 if token == ast.KindCloseBraceToken {
292 s.lastScanAction = actionRescanTemplateToken
293 return s.s.ReScanTemplateToken( /*isTaggedTemplate*/ false)
294 }
295 case actionRescanJsxIdentifier:
296 s.lastScanAction = actionRescanJsxIdentifier
297 return s.s.ScanJsxIdentifier()
298 case actionRescanJsxText:
299 s.lastScanAction = actionRescanJsxText
300 return s.s.ReScanJsxToken( /*allowMultilineJsxText*/ false)
301 case actionRescanJsxAttributeValue:
302 s.lastScanAction = actionRescanJsxAttributeValue
303 return s.s.ReScanJsxAttributeValue()
304 case actionScan:
305 break
306 default:
307 debug.AssertNever(expectedScanAction, "unhandled scan action kind")
308 }
309 return token
310}
311
312func (s *formattingScanner) readEOFTokenRange() TextRangeWithKind {
313 debug.Assert(s.isOnEOF())

Callers 1

readTokenInfoMethod · 0.95

Calls 10

AssertFunction · 0.92
AssertNeverFunction · 0.92
startsWithSlashTokenFunction · 0.85
TokenMethod · 0.80
ReScanSlashTokenMethod · 0.80
ReScanTemplateTokenMethod · 0.80
ScanJsxIdentifierMethod · 0.80
ReScanJsxTokenMethod · 0.80

Tested by

no test coverage detected