override fun visitElement()

in core/src/main/java/com/facebook/ktfmt/format/Tokenizer.kt [48:111]


  override fun visitElement(element: PsiElement) {
    val startIndex = element.startOffset
    when (element) {
      is PsiComment -> {
        toks.add(
            KotlinTok(
                index,
                fileText.substring(startIndex, element.endOffset),
                element.text,
                startIndex,
                0,
                false,
                KtTokens.EOF))
        index++
        return
      }
      is KtStringTemplateExpression -> {
        toks.add(
            KotlinTok(
                index,
                WhitespaceTombstones.replaceTrailingWhitespaceWithTombstone(
                    fileText.substring(startIndex, element.endOffset)),
                element.text,
                startIndex,
                0,
                true,
                KtTokens.EOF))
        index++
        return
      }
      is LeafPsiElement -> {
        val elementText = element.text
        val startIndex = element.startOffset
        val endIndex = element.endOffset
        if (element is PsiWhiteSpace) {
          val matcher = WHITESPACE_NEWLINE_REGEX.matcher(elementText)
          while (matcher.find()) {
            val text = matcher.group()
            toks.add(
                KotlinTok(
                    -1,
                    fileText.substring(startIndex + matcher.start(), startIndex + matcher.end()),
                    text,
                    startIndex + matcher.start(),
                    0,
                    false,
                    KtTokens.EOF))
          }
        } else {
          toks.add(
              KotlinTok(
                  index,
                  fileText.substring(startIndex, endIndex),
                  elementText,
                  startIndex,
                  0,
                  true,
                  KtTokens.EOF))
          index++
        }
      }
    }
    super.visitElement(element)
  }