From 40f52f0216da362ae391cac5f03acfd41a35b80d Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Wed, 6 May 2015 15:17:54 +0300 Subject: [PATCH] Minor changes on code review --- .../jetbrains/kotlin/psi/createByPattern.kt | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/createByPattern.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/createByPattern.kt index 1bb57317ba6..59205673ba9 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/createByPattern.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/createByPattern.kt @@ -69,8 +69,8 @@ public fun JetPsiFactory.createExpressionByPattern(pattern: String, vararg args: val codeStyleManager = CodeStyleManager.getInstance(project) val stringPlaceholderRanges = allPlaceholders - .filter { args[it.getKey()] is String } - .flatMap { it.getValue() } + .filter { args[it.key] is String } + .flatMap { it.value } .map { it.range } .filterNot { it.isEmpty() } .sortBy { -it.getStartOffset() } @@ -121,7 +121,6 @@ private fun processPattern(pattern: String, args: Array): PatternData { var i = 0 while (i < pattern.length()) { var c = pattern[i] - var prevChar = charOrNull(i - 1) if (c == '$') { val nextChar = charOrNull(++i) @@ -138,15 +137,7 @@ private fun processPattern(pattern: String, args: Array): PatternData { val arg: Any? = if (n < args.size()) args[n] else null /* report wrong number of arguments later */ val placeholderText = if (charOrNull(i) != '=') { - if (arg is String) { - arg - } - else { - if (prevChar?.isJavaIdentifierPart() ?: false) { - append(" ") - } - "xyz" - } + if (arg is String) arg else "xyz" } else { check(arg !is String, "do not specify placeholder text for $$n - String argument passed") @@ -172,8 +163,6 @@ private fun processPattern(pattern: String, args: Array): PatternData { } }.toString() - check(!ranges.isEmpty(), "no placeholders found") - val max = ranges.keySet().max()!! for (i in 0..max) { check(ranges.contains(i), "no '$$i' placeholder") @@ -209,6 +198,14 @@ public class ExpressionBuilder { return this } + public fun appendTypeReference(typeRef: JetTypeReference?): ExpressionBuilder { + if (typeRef != null) { + patternBuilder.append("$" + arguments.size()) + arguments.add(typeRef) + } + return this + } + public fun createExpression(factory: JetPsiFactory): JetExpression { return factory.createExpressionByPattern(patternBuilder.toString(), *arguments.toArray()) }