aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSalvatore Benedetto <salvabenedetto@meta.com>2022-11-17 01:29:28 -0800
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>2022-11-17 01:29:28 -0800
commit8717cb5d4bbbe71c927f91a552ef4680085c1760 (patch)
tree6c6b048203cc64c8e1ce9fef2719992c7d288e70
parent6e22df0df7111ce7209c65ee6d54d86a1260bfc5 (diff)
downloadktfmt-8717cb5d4bbbe71c927f91a552ef4680085c1760.tar.gz
Factor out code into a function
Summary: Improve readibility by factoring out code into function Reviewed By: hick209 Differential Revision: D41335535 fbshipit-source-id: a680d4c1dd62a3d93db8099164e8eadbda789f0e
-rw-r--r--core/src/main/java/com/facebook/ktfmt/format/KotlinInput.kt25
1 files changed, 15 insertions, 10 deletions
diff --git a/core/src/main/java/com/facebook/ktfmt/format/KotlinInput.kt b/core/src/main/java/com/facebook/ktfmt/format/KotlinInput.kt
index 52b01a4..979f05f 100644
--- a/core/src/main/java/com/facebook/ktfmt/format/KotlinInput.kt
+++ b/core/src/main/java/com/facebook/ktfmt/format/KotlinInput.kt
@@ -55,16 +55,7 @@ class KotlinInput(private val text: String, file: KtFile) : Input() {
val toks = buildToks(file, text)
positionToColumnMap = makePositionToColumnMap(toks)
tokens = buildTokens(toks)
- val tokenLocations = ImmutableRangeMap.builder<Int, Token>()
- for (token in tokens) {
- val end = JavaOutput.endTok(token)
- var upper = end.position
- if (end.text.isNotEmpty()) {
- upper += end.length() - 1
- }
- tokenLocations.put(Range.closed(JavaOutput.startTok(token).position, upper), token)
- }
- positionTokenMap = tokenLocations.build()
+ positionTokenMap = buildTokenPositionsMap(tokens)
// adjust kN for EOF
kToToken = arrayOfNulls(kN + 1)
@@ -207,6 +198,20 @@ class KotlinInput(private val text: String, file: KtFile) : Input() {
return tokens.build()
}
+ private fun buildTokenPositionsMap(tokens: ImmutableList<Token>): ImmutableRangeMap<Int, Token> {
+ val tokenLocations = ImmutableRangeMap.builder<Int, Token>()
+ for (token in tokens) {
+ val end = JavaOutput.endTok(token)
+ var upper = end.position
+ if (end.text.isNotEmpty()) {
+ upper += end.length() - 1
+ }
+ tokenLocations.put(Range.closed(JavaOutput.startTok(token).position, upper), token)
+ }
+
+ return tokenLocations.build()
+ }
+
private fun isParamComment(tok: Tok): Boolean {
return tok.isSlashStarComment && tok.text.matches("/\\*[A-Za-z0-9\\s_\\-]+=\\s*\\*/".toRegex())
}