Synthetic java properties are not always bold in completion and are not sorted as extensions

This commit is contained in:
Valentin Kipyatkov
2015-08-13 13:59:21 +03:00
parent 000d2f0cd1
commit ec7c55c9be
29 changed files with 408 additions and 277 deletions
@@ -38,7 +38,9 @@ import org.jetbrains.kotlin.util.capitalizeDecapitalize.decapitalizeSmart
import org.jetbrains.kotlin.utils.Printer
import org.jetbrains.kotlin.utils.addIfNotNull
import java.util.ArrayList
import java.util.HashMap
import java.util.HashSet
import kotlin.properties.Delegates
interface SyntheticJavaPropertyDescriptor : PropertyDescriptor {
val getMethod: FunctionDescriptor
@@ -107,7 +109,7 @@ class JavaSyntheticPropertiesScope(storageManager: StorageManager) : JetScopeImp
.singleOrNull { isGoodSetMethod(it, getMethod) }
val propertyType = getMethod.returnType ?: return null
return MyPropertyDescriptor(ownerClass, getMethod.original, setMethod?.original, name, propertyType)
return MyPropertyDescriptor.create(ownerClass, getMethod.original, setMethod?.original, name, propertyType)
}
private fun isGoodGetMethod(descriptor: FunctionDescriptor): Boolean {
@@ -248,57 +250,100 @@ class JavaSyntheticPropertiesScope(storageManager: StorageManager) : JetScopeImp
}
private class MyPropertyDescriptor(
ownerClass: ClassDescriptor,
override val getMethod: FunctionDescriptor,
override val setMethod: FunctionDescriptor?,
containingDeclaration: DeclarationDescriptor,
original: PropertyDescriptor?,
annotations: Annotations,
modality: Modality,
visibility: Visibility,
isVar: Boolean,
name: Name,
type: JetType
) : SyntheticJavaPropertyDescriptor, PropertyDescriptorImpl(
DescriptorUtils.getContainingModule(ownerClass),
null,
Annotations.EMPTY,
Modality.FINAL,
syntheticExtensionVisibility(getMethod),
setMethod != null,
name,
CallableMemberDescriptor.Kind.SYNTHESIZED,
SourceElement.NO_SOURCE
) {
init {
val classTypeParams = ownerClass.typeConstructor.parameters
val typeParameters = ArrayList<TypeParameterDescriptor>(classTypeParams.size())
val typeSubstitutor = DescriptorSubstitutor.substituteTypeParameters(classTypeParams, TypeSubstitution.EMPTY, this, typeParameters)
kind: CallableMemberDescriptor.Kind,
source: SourceElement
) : SyntheticJavaPropertyDescriptor, PropertyDescriptorImpl(containingDeclaration, original, annotations, modality, visibility, isVar, name, kind, source) {
val propertyType = typeSubstitutor.safeSubstitute(type, Variance.INVARIANT)
val receiverType = typeSubstitutor.safeSubstitute(ownerClass.defaultType, Variance.INVARIANT)
setType(propertyType, typeParameters, null, receiverType)
override var getMethod: FunctionDescriptor by Delegates.notNull()
private set
val getter = PropertyGetterDescriptorImpl(this,
override var setMethod: FunctionDescriptor? = null
private set
companion object {
fun create(ownerClass: ClassDescriptor, getMethod: FunctionDescriptor, setMethod: FunctionDescriptor?, name: Name, type: JetType): MyPropertyDescriptor {
val visibility = syntheticExtensionVisibility(getMethod)
val descriptor = MyPropertyDescriptor(DescriptorUtils.getContainingModule(ownerClass),
null,
Annotations.EMPTY,
Modality.FINAL,
visibility,
false,
false,
setMethod != null,
name,
CallableMemberDescriptor.Kind.SYNTHESIZED,
null,
SourceElement.NO_SOURCE)
getter.initialize(null)
descriptor.getMethod = getMethod
descriptor.setMethod = setMethod
val setter = if (setMethod != null)
PropertySetterDescriptorImpl(this,
Annotations.EMPTY,
Modality.FINAL,
syntheticExtensionVisibility(setMethod),
false,
false,
CallableMemberDescriptor.Kind.SYNTHESIZED,
null,
SourceElement.NO_SOURCE)
else
null
setter?.initializeDefault()
val classTypeParams = ownerClass.typeConstructor.parameters
val typeParameters = ArrayList<TypeParameterDescriptor>(classTypeParams.size())
val typeSubstitutor = DescriptorSubstitutor.substituteTypeParameters(classTypeParams, TypeSubstitution.EMPTY, descriptor, typeParameters)
initialize(getter, setter)
val propertyType = typeSubstitutor.safeSubstitute(type, Variance.INVARIANT)
val receiverType = typeSubstitutor.safeSubstitute(ownerClass.defaultType, Variance.INVARIANT)
descriptor.setType(propertyType, typeParameters, null, receiverType)
val getter = PropertyGetterDescriptorImpl(descriptor,
Annotations.EMPTY,
Modality.FINAL,
visibility,
false,
false,
CallableMemberDescriptor.Kind.SYNTHESIZED,
null,
SourceElement.NO_SOURCE)
getter.initialize(null)
val setter = if (setMethod != null)
PropertySetterDescriptorImpl(descriptor,
Annotations.EMPTY,
Modality.FINAL,
syntheticExtensionVisibility(setMethod),
false,
false,
CallableMemberDescriptor.Kind.SYNTHESIZED,
null,
SourceElement.NO_SOURCE)
else
null
setter?.initializeDefault()
descriptor.initialize(getter, setter)
return descriptor
}
}
override fun createSubstitutedCopy(newOwner: DeclarationDescriptor, newModality: Modality, newVisibility: Visibility, original: PropertyDescriptor?, kind: CallableMemberDescriptor.Kind): PropertyDescriptorImpl {
return MyPropertyDescriptor(newOwner, this, annotations, newModality, newVisibility, isVar, name, kind, source).apply {
getMethod = this@MyPropertyDescriptor.getMethod
setMethod = this@MyPropertyDescriptor.setMethod
}
}
override fun substitute(originalSubstitutor: TypeSubstitutor): PropertyDescriptor? {
val descriptor = super<PropertyDescriptorImpl>.substitute(originalSubstitutor) as MyPropertyDescriptor
if (descriptor == this) return descriptor
val classTypeParameters = (getMethod.containingDeclaration as ClassDescriptor).typeConstructor.parameters
val substitutionMap = HashMap<TypeConstructor, TypeProjection>()
for ((typeParameter, classTypeParameter) in typeParameters.zip(classTypeParameters)) {
val typeProjection = originalSubstitutor.substitution[typeParameter.defaultType] ?: continue
substitutionMap[classTypeParameter.typeConstructor] = typeProjection
}
val classParametersSubstitutor = TypeSubstitutor.create(substitutionMap)
descriptor.getMethod = getMethod.substitute(classParametersSubstitutor)!!
descriptor.setMethod = setMethod?.substitute(classParametersSubstitutor)
return descriptor
}
}
}
@@ -76,10 +76,9 @@ public class ReferenceVariantsHelper(
if (filterOutJavaGettersAndSetters) {
val accessorMethodsToRemove = HashSet<FunctionDescriptor>()
for (variant in variants) {
val original = variant.original
if (original is SyntheticJavaPropertyDescriptor) {
accessorMethodsToRemove.add(original.getMethod)
accessorMethodsToRemove.addIfNotNull(original.setMethod)
if (variant is SyntheticJavaPropertyDescriptor) {
accessorMethodsToRemove.add(variant.getMethod.original)
accessorMethodsToRemove.addIfNotNull(variant.setMethod?.original)
}
}
@@ -21,29 +21,26 @@ import com.intellij.psi.PsiElement
import com.intellij.util.SmartList
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.idea.caches.resolve.analyze
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.JetNameReferenceExpression
import org.jetbrains.kotlin.psi.JetPsiFactory
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
import org.jetbrains.kotlin.utils.addIfNotNull
sealed class SyntheticPropertyAccessorReference(expression: JetNameReferenceExpression, private val getter: Boolean) : JetSimpleReference<JetNameReferenceExpression>(expression) {
override fun getTargetDescriptors(context: BindingContext): Collection<DeclarationDescriptor> {
val descriptors = super.getTargetDescriptors(context)
if (descriptors.none { it.original is SyntheticJavaPropertyDescriptor }) return emptyList()
if (descriptors.none { it is SyntheticJavaPropertyDescriptor }) return emptyList()
val result = SmartList<FunctionDescriptor>()
for (descriptor in descriptors) {
val original = descriptor.original
if (original is SyntheticJavaPropertyDescriptor) {
if (descriptor is SyntheticJavaPropertyDescriptor) {
if (getter) {
result.add(original.getMethod)
result.add(descriptor.getMethod)
}
else {
result.addIfNotNull(original.setMethod)
result.addIfNotNull(descriptor.setMethod)
}
}
}
@@ -258,9 +258,9 @@ public class LookupElementFactory(
val original = descriptor.original
val extensionReceiver = original.extensionReceiverParameter
when {
original is SyntheticJavaPropertyDescriptor -> {
var from = original.getMethod.getName().asString() + "()"
original.setMethod?.let { from += "/" + it.getName().asString() + "()" }
descriptor is SyntheticJavaPropertyDescriptor -> {
var from = descriptor.getMethod.getName().asString() + "()"
descriptor.setMethod?.let { from += "/" + it.getName().asString() + "()" }
element = element.appendTailText(" (from $from)", true)
}
@@ -332,6 +332,11 @@ public class LookupElementFactory(
return overridden.map { callableWeight(it)!! }.min()!!
}
// don't treat synthetic extensions as real extensions
if (descriptor is SyntheticJavaPropertyDescriptor) {
return callableWeight(descriptor.getMethod)
}
val receiverParameter = descriptor.extensionReceiverParameter ?: descriptor.dispatchReceiverParameter
if (receiverParameter != null) {
return if (receiverTypes.any { TypeUtils.equalTypes(it, receiverParameter.type) }) {
@@ -0,0 +1,15 @@
import java.io.File
class C : File("") {
override fun isFile(): Boolean {
return true
}
}
fun f(pair: Pair<out File, out Any>) {
if (pair.first !is C) return
pair.first.<caret>
}
// EXIST: { lookupString: "absolutePath", itemText: "absolutePath", tailText: " (from getAbsolutePath())", typeText: "String!", attributes: "bold" }
// EXIST: { lookupString: "isFile", itemText: "isFile", tailText: " (from isFile())", typeText: "Boolean", attributes: "bold" }
@@ -0,0 +1,12 @@
import java.io.File
class C : File("") {
val v: Int = 0
}
fun f(pair: Pair<out Any, out Any>) {
if (pair.first !is C) return
pair.first.<caret>
}
// EXIST: { lookupString: "absolutePath", itemText: "absolutePath", tailText: " (from getAbsolutePath())", typeText: "String!", attributes: "grayed" }
@@ -0,0 +1,17 @@
import java.io.File
class C : File("") {
val v: Int = 0
override fun isFile(): Boolean {
return true
}
}
fun foo(c: C) {
c.<caret>
}
// EXIST: { lookupString: "absolutePath", itemText: "absolutePath", tailText: " (from getAbsolutePath())", typeText: "String!", attributes: "" }
// EXIST: { lookupString: "isFile", itemText: "isFile", tailText: " (from isFile())", typeText: "Boolean", attributes: "" }
// EXIST: { lookupString: "v", itemText: "v", attributes: "bold" }
@@ -0,0 +1,8 @@
import java.io.File
fun foo(file: File) {
file.<caret>
}
// EXIST: { lookupString: "absolutePath", itemText: "absolutePath", tailText: " (from getAbsolutePath())", typeText: "String!", attributes: "bold" }
// EXIST: { lookupString: "isFile", itemText: "isFile", tailText: " (from isFile())", typeText: "Boolean", attributes: "bold" }
@@ -1,8 +1,8 @@
class JavaClass<T> {
public T getSomething() {
class JavaClass<T1, T2> {
public T2 getSomething() {
return null;
}
public void setSomething(T t) {
public void setSomething(T2 t) {
}
}
@@ -1,5 +1,5 @@
fun foo(javaClass: JavaClass<String>) {
fun foo(javaClass: JavaClass<String, Int>) {
javaClass.<caret>
}
// EXIST: { lookupString: "something", itemText: "something", tailText: " (from getSomething()/setSomething())", typeText: "String!" }
// EXIST: { lookupString: "something", itemText: "something", tailText: " (from getSomething()/setSomething())", typeText: "Int!", attributes: "bold" }
@@ -45,24 +45,6 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
doTest(fileName);
}
@TestMetadata("AfterNullable.kt")
public void testAfterNullable() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/AfterNullable.kt");
doTest(fileName);
}
@TestMetadata("AfterNullableAutoCast.kt")
public void testAfterNullableAutoCast() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/AfterNullableAutoCast.kt");
doTest(fileName);
}
@TestMetadata("AfterNullableAutoCast2.kt")
public void testAfterNullableAutoCast2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/AfterNullableAutoCast2.kt");
doTest(fileName);
}
public void testAllFilesPresentInCommon() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common"), Pattern.compile("^(.+)\\.kt$"), true);
}
@@ -325,12 +307,6 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
doTest(fileName);
}
@TestMetadata("InExtensionForNullable.kt")
public void testInExtensionForNullable() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/InExtensionForNullable.kt");
doTest(fileName);
}
@TestMetadata("InFileWithMultiDeclaration.kt")
public void testInFileWithMultiDeclaration() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/InFileWithMultiDeclaration.kt");
@@ -721,12 +697,6 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
doTest(fileName);
}
@TestMetadata("NonPredictableSmartCast.kt")
public void testNonPredictableSmartCast() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/NonPredictableSmartCast.kt");
doTest(fileName);
}
@TestMetadata("ObjectInTypePosition.kt")
public void testObjectInTypePosition() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/ObjectInTypePosition.kt");
@@ -793,12 +763,6 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
doTest(fileName);
}
@TestMetadata("SafeCallAfterNullable.kt")
public void testSafeCallAfterNullable() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/SafeCallAfterNullable.kt");
doTest(fileName);
}
@TestMetadata("SetPrefixForProperties.kt")
public void testSetPrefixForProperties() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/SetPrefixForProperties.kt");
@@ -1153,6 +1117,111 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
}
}
@TestMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class BoldOrGrayed extends AbstractJSBasicCompletionTest {
@TestMetadata("AfterNullable.kt")
public void testAfterNullable() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/AfterNullable.kt");
doTest(fileName);
}
@TestMetadata("AfterNullableAutoCast.kt")
public void testAfterNullableAutoCast() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/AfterNullableAutoCast.kt");
doTest(fileName);
}
@TestMetadata("AfterNullableAutoCast2.kt")
public void testAfterNullableAutoCast2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/AfterNullableAutoCast2.kt");
doTest(fileName);
}
public void testAllFilesPresentInBoldOrGrayed() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/boldOrGrayed"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("ImmediateExtensionMembers1.kt")
public void testImmediateExtensionMembers1() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateExtensionMembers1.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembers2.kt")
public void testImmediateExtensionMembers2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateExtensionMembers2.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembers3.kt")
public void testImmediateExtensionMembers3() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateExtensionMembers3.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembers4.kt")
public void testImmediateExtensionMembers4() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateExtensionMembers4.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembersGeneric.kt")
public void testImmediateExtensionMembersGeneric() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateExtensionMembersGeneric.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers1.kt")
public void testImmediateMembers1() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateMembers1.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers2.kt")
public void testImmediateMembers2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateMembers2.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers3.kt")
public void testImmediateMembers3() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateMembers3.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers4.kt")
public void testImmediateMembers4() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateMembers4.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers5.kt")
public void testImmediateMembers5() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateMembers5.kt");
doTest(fileName);
}
@TestMetadata("InExtensionForNullable.kt")
public void testInExtensionForNullable() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/InExtensionForNullable.kt");
doTest(fileName);
}
@TestMetadata("NonPredictableSmartCast.kt")
public void testNonPredictableSmartCast() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/NonPredictableSmartCast.kt");
doTest(fileName);
}
@TestMetadata("SafeCallAfterNullable.kt")
public void testSafeCallAfterNullable() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/SafeCallAfterNullable.kt");
doTest(fileName);
}
}
@TestMetadata("idea/idea-completion/testData/basic/common/extensions")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -1393,75 +1462,6 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
}
}
@TestMetadata("idea/idea-completion/testData/basic/common/immediateMembers")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class ImmediateMembers extends AbstractJSBasicCompletionTest {
public void testAllFilesPresentInImmediateMembers() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/immediateMembers"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("ImmediateExtensionMembers1.kt")
public void testImmediateExtensionMembers1() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateExtensionMembers1.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembers2.kt")
public void testImmediateExtensionMembers2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateExtensionMembers2.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembers3.kt")
public void testImmediateExtensionMembers3() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateExtensionMembers3.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembers4.kt")
public void testImmediateExtensionMembers4() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateExtensionMembers4.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembersGeneric.kt")
public void testImmediateExtensionMembersGeneric() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateExtensionMembersGeneric.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers1.kt")
public void testImmediateMembers1() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateMembers1.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers2.kt")
public void testImmediateMembers2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateMembers2.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers3.kt")
public void testImmediateMembers3() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateMembers3.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers4.kt")
public void testImmediateMembers4() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateMembers4.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers5.kt")
public void testImmediateMembers5() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateMembers5.kt");
doTest(fileName);
}
}
@TestMetadata("idea/idea-completion/testData/basic/common/lambdaSignature")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -45,24 +45,6 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
doTest(fileName);
}
@TestMetadata("AfterNullable.kt")
public void testAfterNullable() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/AfterNullable.kt");
doTest(fileName);
}
@TestMetadata("AfterNullableAutoCast.kt")
public void testAfterNullableAutoCast() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/AfterNullableAutoCast.kt");
doTest(fileName);
}
@TestMetadata("AfterNullableAutoCast2.kt")
public void testAfterNullableAutoCast2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/AfterNullableAutoCast2.kt");
doTest(fileName);
}
public void testAllFilesPresentInCommon() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common"), Pattern.compile("^(.+)\\.kt$"), true);
}
@@ -325,12 +307,6 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
doTest(fileName);
}
@TestMetadata("InExtensionForNullable.kt")
public void testInExtensionForNullable() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/InExtensionForNullable.kt");
doTest(fileName);
}
@TestMetadata("InFileWithMultiDeclaration.kt")
public void testInFileWithMultiDeclaration() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/InFileWithMultiDeclaration.kt");
@@ -721,12 +697,6 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
doTest(fileName);
}
@TestMetadata("NonPredictableSmartCast.kt")
public void testNonPredictableSmartCast() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/NonPredictableSmartCast.kt");
doTest(fileName);
}
@TestMetadata("ObjectInTypePosition.kt")
public void testObjectInTypePosition() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/ObjectInTypePosition.kt");
@@ -793,12 +763,6 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
doTest(fileName);
}
@TestMetadata("SafeCallAfterNullable.kt")
public void testSafeCallAfterNullable() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/SafeCallAfterNullable.kt");
doTest(fileName);
}
@TestMetadata("SetPrefixForProperties.kt")
public void testSetPrefixForProperties() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/SetPrefixForProperties.kt");
@@ -1153,6 +1117,111 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
}
}
@TestMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class BoldOrGrayed extends AbstractJvmBasicCompletionTest {
@TestMetadata("AfterNullable.kt")
public void testAfterNullable() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/AfterNullable.kt");
doTest(fileName);
}
@TestMetadata("AfterNullableAutoCast.kt")
public void testAfterNullableAutoCast() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/AfterNullableAutoCast.kt");
doTest(fileName);
}
@TestMetadata("AfterNullableAutoCast2.kt")
public void testAfterNullableAutoCast2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/AfterNullableAutoCast2.kt");
doTest(fileName);
}
public void testAllFilesPresentInBoldOrGrayed() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/boldOrGrayed"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("ImmediateExtensionMembers1.kt")
public void testImmediateExtensionMembers1() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateExtensionMembers1.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembers2.kt")
public void testImmediateExtensionMembers2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateExtensionMembers2.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembers3.kt")
public void testImmediateExtensionMembers3() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateExtensionMembers3.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembers4.kt")
public void testImmediateExtensionMembers4() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateExtensionMembers4.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembersGeneric.kt")
public void testImmediateExtensionMembersGeneric() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateExtensionMembersGeneric.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers1.kt")
public void testImmediateMembers1() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateMembers1.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers2.kt")
public void testImmediateMembers2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateMembers2.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers3.kt")
public void testImmediateMembers3() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateMembers3.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers4.kt")
public void testImmediateMembers4() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateMembers4.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers5.kt")
public void testImmediateMembers5() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/ImmediateMembers5.kt");
doTest(fileName);
}
@TestMetadata("InExtensionForNullable.kt")
public void testInExtensionForNullable() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/InExtensionForNullable.kt");
doTest(fileName);
}
@TestMetadata("NonPredictableSmartCast.kt")
public void testNonPredictableSmartCast() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/NonPredictableSmartCast.kt");
doTest(fileName);
}
@TestMetadata("SafeCallAfterNullable.kt")
public void testSafeCallAfterNullable() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/boldOrGrayed/SafeCallAfterNullable.kt");
doTest(fileName);
}
}
@TestMetadata("idea/idea-completion/testData/basic/common/extensions")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -1393,75 +1462,6 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
}
}
@TestMetadata("idea/idea-completion/testData/basic/common/immediateMembers")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class ImmediateMembers extends AbstractJvmBasicCompletionTest {
public void testAllFilesPresentInImmediateMembers() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/immediateMembers"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("ImmediateExtensionMembers1.kt")
public void testImmediateExtensionMembers1() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateExtensionMembers1.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembers2.kt")
public void testImmediateExtensionMembers2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateExtensionMembers2.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembers3.kt")
public void testImmediateExtensionMembers3() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateExtensionMembers3.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembers4.kt")
public void testImmediateExtensionMembers4() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateExtensionMembers4.kt");
doTest(fileName);
}
@TestMetadata("ImmediateExtensionMembersGeneric.kt")
public void testImmediateExtensionMembersGeneric() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateExtensionMembersGeneric.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers1.kt")
public void testImmediateMembers1() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateMembers1.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers2.kt")
public void testImmediateMembers2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateMembers2.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers3.kt")
public void testImmediateMembers3() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateMembers3.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers4.kt")
public void testImmediateMembers4() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateMembers4.kt");
doTest(fileName);
}
@TestMetadata("ImmediateMembers5.kt")
public void testImmediateMembers5() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/immediateMembers/ImmediateMembers5.kt");
doTest(fileName);
}
}
@TestMetadata("idea/idea-completion/testData/basic/common/lambdaSignature")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -2059,12 +2059,6 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
doTest(fileName);
}
@TestMetadata("ImmediateMembersForPlatformType.kt")
public void testImmediateMembersForPlatformType() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/java/ImmediateMembersForPlatformType.kt");
doTest(fileName);
}
@TestMetadata("InPackage.kt")
public void testInPackage() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/java/InPackage.kt");
@@ -2118,5 +2112,44 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/java/TopLevelFromStandardLibraryWithoutParam.kt");
doTest(fileName);
}
@TestMetadata("idea/idea-completion/testData/basic/java/boldOrGrayed")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class BoldOrGrayed extends AbstractJvmBasicCompletionTest {
public void testAllFilesPresentInBoldOrGrayed() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/java/boldOrGrayed"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("ImmediateMembersForPlatformType.kt")
public void testImmediateMembersForPlatformType() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/java/boldOrGrayed/ImmediateMembersForPlatformType.kt");
doTest(fileName);
}
@TestMetadata("NonPredictableSmartCast1.kt")
public void testNonPredictableSmartCast1() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/java/boldOrGrayed/NonPredictableSmartCast1.kt");
doTest(fileName);
}
@TestMetadata("NonPredictableSmartCast2.kt")
public void testNonPredictableSmartCast2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/java/boldOrGrayed/NonPredictableSmartCast2.kt");
doTest(fileName);
}
@TestMetadata("SyntheticJavaProperties1.kt")
public void testSyntheticJavaProperties1() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/java/boldOrGrayed/SyntheticJavaProperties1.kt");
doTest(fileName);
}
@TestMetadata("SyntheticJavaProperties2.kt")
public void testSyntheticJavaProperties2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/java/boldOrGrayed/SyntheticJavaProperties2.kt");
doTest(fileName);
}
}
}
}