This commit is contained in:
Valentin Kipyatkov
2015-06-16 17:34:30 +03:00
parent c91a359fea
commit e0f1bde20a
18 changed files with 74 additions and 74 deletions
@@ -264,7 +264,7 @@ class BasicCompletionSession(configuration: CompletionSessionConfiguration,
public enum class CompletionKind {
KEYWORDS_ONLY,
NAMED_PARAMETERS_ONLY,
NAMED_ARGUMENTS_ONLY,
ALL,
TYPES,
ANNOTATION_TYPES,
@@ -283,13 +283,13 @@ class BasicCompletionSession(configuration: CompletionSessionConfiguration,
CompletionKind.ALL ->
DescriptorKindFilter(DescriptorKindFilter.ALL_KINDS_MASK)
CompletionKind.NAMED_PARAMETERS_ONLY, CompletionKind.KEYWORDS_ONLY ->
CompletionKind.NAMED_ARGUMENTS_ONLY, CompletionKind.KEYWORDS_ONLY ->
null
}
private fun calcCompletionKind(): CompletionKind {
if (NamedParametersCompletion.isOnlyNamedParameterExpected(position)) {
return CompletionKind.NAMED_PARAMETERS_ONLY
if (NamedArgumentCompletion.isOnlyNamedArgumentExpected(position)) {
return CompletionKind.NAMED_ARGUMENTS_ONLY
}
if (reference == null) {
@@ -324,7 +324,7 @@ class BasicCompletionSession(configuration: CompletionSessionConfiguration,
override fun doComplete() {
assert(parameters.getCompletionType() == CompletionType.BASIC)
if (completionKind != CompletionKind.NAMED_PARAMETERS_ONLY) {
if (completionKind != CompletionKind.NAMED_ARGUMENTS_ONLY) {
collector.addDescriptorElements(referenceVariants, suppressAutoInsertion = false)
val keywordsPrefix = prefix.substringBefore('@') // if there is '@' in the prefix - use shorter prefix to not loose 'this' etc
@@ -374,7 +374,7 @@ class BasicCompletionSession(configuration: CompletionSessionConfiguration,
}
}
NamedParametersCompletion.complete(position, collector, bindingContext)
NamedArgumentCompletion.complete(position, collector, bindingContext)
}
private object NonAnnotationClassifierExclude : DescriptorKindExclude {
@@ -415,8 +415,8 @@ class SmartCompletionSession(configuration: CompletionSessionConfiguration, para
override val descriptorKindFilter: DescriptorKindFilter? = DescriptorKindFilter.VALUES exclude SamConstructorDescriptorKindExclude
override fun doComplete() {
if (NamedParametersCompletion.isOnlyNamedParameterExpected(position)) {
NamedParametersCompletion.complete(position, collector, bindingContext)
if (NamedArgumentCompletion.isOnlyNamedArgumentExpected(position)) {
NamedArgumentCompletion.complete(position, collector, bindingContext)
return
}
@@ -45,7 +45,7 @@ import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.calls.callUtil.getCall
import java.util.*
object NamedParametersCompletion {
object NamedArgumentCompletion {
private val positionFilter = AndFilter(
LeafElementFilter(JetTokens.IDENTIFIER),
OrFilter(
@@ -57,7 +57,7 @@ object NamedParametersCompletion {
)
)
public fun isOnlyNamedParameterExpected(position: PsiElement): Boolean {
public fun isOnlyNamedArgumentExpected(position: PsiElement): Boolean {
if (!positionFilter.isAcceptable(position, position)) return false
val thisArgument = position.getStrictParentOfType<JetValueArgument>()!!
@@ -99,7 +99,7 @@ object NamedParametersCompletion {
.withPresentableText("$name =")
.withTailText(" ${DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(parameter.getType())}")
.withIcon(JetIcons.PARAMETER)
.withInsertHandler(NamedParameterInsertHandler(parameter.getName()))
.withInsertHandler(NamedArgumentInsertHandler(parameter.getName()))
.assignPriority(ItemPriority.NAMED_PARAMETER)
collector.addElement(lookupElement)
}
@@ -107,7 +107,7 @@ object NamedParametersCompletion {
}
}
private class NamedParameterInsertHandler(val parameterName: Name) : InsertHandler<LookupElement> {
private class NamedArgumentInsertHandler(val parameterName: Name) : InsertHandler<LookupElement> {
override fun handleInsert(context: InsertionContext, item: LookupElement) {
val editor = context.getEditor()
val text = parameterName.render()
@@ -1309,95 +1309,95 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
}
}
@TestMetadata("idea/idea-completion/testData/basic/common/namedParameters")
@TestMetadata("idea/idea-completion/testData/basic/common/namedArguments")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class NamedParameters extends AbstractJSBasicCompletionTest {
public static class NamedArguments extends AbstractJSBasicCompletionTest {
@TestMetadata("AfterBrace.kt")
public void testAfterBrace() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/AfterBrace.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/AfterBrace.kt");
doTest(fileName);
}
@TestMetadata("AfterComma.kt")
public void testAfterComma() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/AfterComma.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/AfterComma.kt");
doTest(fileName);
}
@TestMetadata("AfterVararg.kt")
public void testAfterVararg() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/AfterVararg.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/AfterVararg.kt");
doTest(fileName);
}
public void testAllFilesPresentInNamedParameters() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/namedParameters"), Pattern.compile("^(.+)\\.kt$"), true);
public void testAllFilesPresentInNamedArguments() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/namedArguments"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("CompactTypeNames.kt")
public void testCompactTypeNames() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/CompactTypeNames.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/CompactTypeNames.kt");
doTest(fileName);
}
@TestMetadata("ForEmptyParametersFunction.kt")
public void testForEmptyParametersFunction() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/ForEmptyParametersFunction.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/ForEmptyParametersFunction.kt");
doTest(fileName);
}
@TestMetadata("InParameterExpression.kt")
public void testInParameterExpression() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/InParameterExpression.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/InParameterExpression.kt");
doTest(fileName);
}
@TestMetadata("NamedParametersFromOverloads.kt")
public void testNamedParametersFromOverloads() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/NamedParametersFromOverloads.kt");
doTest(fileName);
}
@TestMetadata("NamedParamsInConstructor.kt")
public void testNamedParamsInConstructor() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/NamedParamsInConstructor.kt");
@TestMetadata("NamedArgumentsFromOverloads.kt")
public void testNamedArgumentsFromOverloads() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/NamedArgumentsFromOverloads.kt");
doTest(fileName);
}
@TestMetadata("NoAlreadyUsedParameters.kt")
public void testNoAlreadyUsedParameters() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/NoAlreadyUsedParameters.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/NoAlreadyUsedParameters.kt");
doTest(fileName);
}
@TestMetadata("NoParamsFromUnapplicableOverload.kt")
public void testNoParamsFromUnapplicableOverload() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/NoParamsFromUnapplicableOverload.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/NoParamsFromUnapplicableOverload.kt");
doTest(fileName);
}
@TestMetadata("NotOnlyNamedParameters.kt")
public void testNotOnlyNamedParameters() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/NotOnlyNamedParameters.kt");
@TestMetadata("NotOnlyNamedArguments.kt")
public void testNotOnlyNamedArguments() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/NotOnlyNamedArguments.kt");
doTest(fileName);
}
@TestMetadata("NotOnlyNamedParameters2.kt")
public void testNotOnlyNamedParameters2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/NotOnlyNamedParameters2.kt");
@TestMetadata("NotOnlyNamedArguments2.kt")
public void testNotOnlyNamedArguments2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/NotOnlyNamedArguments2.kt");
doTest(fileName);
}
@TestMetadata("OnlyNamedParameters.kt")
public void testOnlyNamedParameters() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/OnlyNamedParameters.kt");
@TestMetadata("OfConstructor.kt")
public void testOfConstructor() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/OfConstructor.kt");
doTest(fileName);
}
@TestMetadata("OnlyNamedArguments.kt")
public void testOnlyNamedArguments() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/OnlyNamedArguments.kt");
doTest(fileName);
}
@TestMetadata("WithParameterExpression.kt")
public void testWithParameterExpression() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/WithParameterExpression.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/WithParameterExpression.kt");
doTest(fileName);
}
}
@@ -1309,95 +1309,95 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
}
}
@TestMetadata("idea/idea-completion/testData/basic/common/namedParameters")
@TestMetadata("idea/idea-completion/testData/basic/common/namedArguments")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class NamedParameters extends AbstractJvmBasicCompletionTest {
public static class NamedArguments extends AbstractJvmBasicCompletionTest {
@TestMetadata("AfterBrace.kt")
public void testAfterBrace() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/AfterBrace.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/AfterBrace.kt");
doTest(fileName);
}
@TestMetadata("AfterComma.kt")
public void testAfterComma() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/AfterComma.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/AfterComma.kt");
doTest(fileName);
}
@TestMetadata("AfterVararg.kt")
public void testAfterVararg() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/AfterVararg.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/AfterVararg.kt");
doTest(fileName);
}
public void testAllFilesPresentInNamedParameters() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/namedParameters"), Pattern.compile("^(.+)\\.kt$"), true);
public void testAllFilesPresentInNamedArguments() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/namedArguments"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("CompactTypeNames.kt")
public void testCompactTypeNames() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/CompactTypeNames.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/CompactTypeNames.kt");
doTest(fileName);
}
@TestMetadata("ForEmptyParametersFunction.kt")
public void testForEmptyParametersFunction() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/ForEmptyParametersFunction.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/ForEmptyParametersFunction.kt");
doTest(fileName);
}
@TestMetadata("InParameterExpression.kt")
public void testInParameterExpression() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/InParameterExpression.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/InParameterExpression.kt");
doTest(fileName);
}
@TestMetadata("NamedParametersFromOverloads.kt")
public void testNamedParametersFromOverloads() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/NamedParametersFromOverloads.kt");
doTest(fileName);
}
@TestMetadata("NamedParamsInConstructor.kt")
public void testNamedParamsInConstructor() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/NamedParamsInConstructor.kt");
@TestMetadata("NamedArgumentsFromOverloads.kt")
public void testNamedArgumentsFromOverloads() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/NamedArgumentsFromOverloads.kt");
doTest(fileName);
}
@TestMetadata("NoAlreadyUsedParameters.kt")
public void testNoAlreadyUsedParameters() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/NoAlreadyUsedParameters.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/NoAlreadyUsedParameters.kt");
doTest(fileName);
}
@TestMetadata("NoParamsFromUnapplicableOverload.kt")
public void testNoParamsFromUnapplicableOverload() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/NoParamsFromUnapplicableOverload.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/NoParamsFromUnapplicableOverload.kt");
doTest(fileName);
}
@TestMetadata("NotOnlyNamedParameters.kt")
public void testNotOnlyNamedParameters() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/NotOnlyNamedParameters.kt");
@TestMetadata("NotOnlyNamedArguments.kt")
public void testNotOnlyNamedArguments() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/NotOnlyNamedArguments.kt");
doTest(fileName);
}
@TestMetadata("NotOnlyNamedParameters2.kt")
public void testNotOnlyNamedParameters2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/NotOnlyNamedParameters2.kt");
@TestMetadata("NotOnlyNamedArguments2.kt")
public void testNotOnlyNamedArguments2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/NotOnlyNamedArguments2.kt");
doTest(fileName);
}
@TestMetadata("OnlyNamedParameters.kt")
public void testOnlyNamedParameters() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/OnlyNamedParameters.kt");
@TestMetadata("OfConstructor.kt")
public void testOfConstructor() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/OfConstructor.kt");
doTest(fileName);
}
@TestMetadata("OnlyNamedArguments.kt")
public void testOnlyNamedArguments() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/OnlyNamedArguments.kt");
doTest(fileName);
}
@TestMetadata("WithParameterExpression.kt")
public void testWithParameterExpression() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedParameters/WithParameterExpression.kt");
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/namedArguments/WithParameterExpression.kt");
doTest(fileName);
}
}