No annotations rendered in completion and other places
KT-5517 Completion shouldn't show inlineOptions annotation #KT-5517 Fixed
This commit is contained in:
+2
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.descriptors.PackageViewDescriptor;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
import org.jetbrains.kotlin.psi.JetFile;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererModifier;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererOptions;
|
||||
import org.jetbrains.kotlin.renderer.ParameterNameRenderingPolicy;
|
||||
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
|
||||
@@ -56,6 +57,7 @@ public abstract class AbstractCompileJavaAgainstKotlinTest extends TestCaseWithT
|
||||
options.setParameterNameRenderingPolicy(ParameterNameRenderingPolicy.NONE);
|
||||
options.setVerbose(true);
|
||||
options.setExcludedAnnotationClasses(Collections.singleton(new FqName(Retention.class.getName())));
|
||||
options.setModifiers(DescriptorRendererModifier.ALL);
|
||||
return Unit.INSTANCE$;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -31,6 +31,7 @@ import org.jetbrains.kotlin.load.kotlin.reflect.ReflectKotlinClass
|
||||
import org.jetbrains.kotlin.load.kotlin.reflect.RuntimeModuleData
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererModifier
|
||||
import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy
|
||||
import org.jetbrains.kotlin.renderer.ParameterNameRenderingPolicy
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
@@ -44,7 +45,6 @@ import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator.Configuratio
|
||||
import org.jetbrains.kotlin.types.TypeSubstitutor
|
||||
import org.jetbrains.kotlin.utils.sure
|
||||
import java.io.File
|
||||
import java.lang.annotation.Retention
|
||||
import java.net.URLClassLoader
|
||||
import java.util.regex.Pattern
|
||||
|
||||
@@ -60,6 +60,7 @@ public abstract class AbstractJvmRuntimeDescriptorLoaderTest : TestCaseWithTmpdi
|
||||
includePropertyConstant = false
|
||||
verbose = true
|
||||
renderDefaultAnnotationArguments = true
|
||||
modifiers = DescriptorRendererModifier.ALL
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -129,7 +129,10 @@ public abstract class AbstractDescriptorRendererTest : KotlinTestWithEnvironment
|
||||
}
|
||||
})
|
||||
|
||||
val renderer = DescriptorRenderer.withOptions { nameShortness = NameShortness.FULLY_QUALIFIED }
|
||||
val renderer = DescriptorRenderer.withOptions {
|
||||
nameShortness = NameShortness.FULLY_QUALIFIED
|
||||
modifiers = DescriptorRendererModifier.ALL
|
||||
}
|
||||
val renderedDescriptors = descriptors.map { renderer.render(it) }.joinToString(separator = "\n")
|
||||
|
||||
val document = DocumentImpl(psiFile.getText())
|
||||
|
||||
+9
-2
@@ -22,7 +22,10 @@ import com.intellij.testFramework.UsefulTestCase
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.impl.FunctionExpressionDescriptor
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.JetFunctionLiteralExpression
|
||||
import org.jetbrains.kotlin.psi.JetNamedFunction
|
||||
import org.jetbrains.kotlin.psi.JetPsiFactory
|
||||
import org.jetbrains.kotlin.psi.JetTreeVisitorVoid
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil
|
||||
import org.jetbrains.kotlin.resolve.lazy.KotlinTestWithEnvironment
|
||||
@@ -50,7 +53,11 @@ abstract public class AbstractFunctionDescriptorInExpressionRendererTest : Kotli
|
||||
}
|
||||
})
|
||||
|
||||
val renderer = DescriptorRenderer.withOptions { nameShortness = NameShortness.FULLY_QUALIFIED; verbose = true }
|
||||
val renderer = DescriptorRenderer.withOptions {
|
||||
nameShortness = NameShortness.FULLY_QUALIFIED
|
||||
modifiers = DescriptorRendererModifier.ALL
|
||||
verbose = true
|
||||
}
|
||||
val renderedDescriptors = descriptors.map { renderer.render(it) }.joinToString(separator = "\n")
|
||||
|
||||
val document = DocumentImpl(file.getText())
|
||||
|
||||
+2
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.psi.JetAnnotationEntry;
|
||||
import org.jetbrains.kotlin.psi.JetFile;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererModifier;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererOptions;
|
||||
import org.jetbrains.kotlin.renderer.NameShortness;
|
||||
import org.jetbrains.kotlin.resolve.BindingContext;
|
||||
@@ -57,6 +58,7 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends JetLiteFix
|
||||
public Unit invoke(DescriptorRendererOptions options) {
|
||||
options.setVerbose(true);
|
||||
options.setNameShortness(NameShortness.SHORT);
|
||||
options.setModifiers(DescriptorRendererModifier.ALL);
|
||||
return Unit.INSTANCE$;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor;
|
||||
import org.jetbrains.kotlin.psi.JetFile;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererModifier;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererOptions;
|
||||
import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy;
|
||||
import org.jetbrains.kotlin.resolve.lazy.KotlinTestWithEnvironment;
|
||||
@@ -58,6 +59,7 @@ public class LoadBuiltinsTest extends KotlinTestWithEnvironment {
|
||||
options.setOverrideRenderingPolicy(OverrideRenderingPolicy.RENDER_OPEN_OVERRIDE);
|
||||
options.setVerbose(true);
|
||||
options.setPrettyFunctionTypes(false);
|
||||
options.setModifiers(DescriptorRendererModifier.ALL);
|
||||
return Unit.INSTANCE$;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,10 +28,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
import org.jetbrains.kotlin.jvm.compiler.ExpectedLoadErrorsUtil;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererOptions;
|
||||
import org.jetbrains.kotlin.renderer.NameShortness;
|
||||
import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy;
|
||||
import org.jetbrains.kotlin.renderer.*;
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils;
|
||||
import org.jetbrains.kotlin.resolve.MemberComparator;
|
||||
import org.jetbrains.kotlin.resolve.scopes.JetScope;
|
||||
@@ -59,6 +56,7 @@ public class RecursiveDescriptorComparator {
|
||||
options.setIncludePropertyConstant(true);
|
||||
options.setNameShortness(NameShortness.FULLY_QUALIFIED);
|
||||
options.setVerbose(true);
|
||||
options.setModifiers(DescriptorRendererModifier.ALL);
|
||||
return Unit.INSTANCE$;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,7 +111,9 @@ public interface DescriptorRenderer : Renderer<DeclarationDescriptor> {
|
||||
startFromName = true
|
||||
}
|
||||
|
||||
public val FQ_NAMES_IN_TYPES: DescriptorRenderer = withOptions { }
|
||||
public val FQ_NAMES_IN_TYPES: DescriptorRenderer = withOptions {
|
||||
modifiers = DescriptorRendererModifier.ALL
|
||||
}
|
||||
|
||||
public val SHORT_NAMES_IN_TYPES: DescriptorRenderer = withOptions {
|
||||
nameShortness = NameShortness.SHORT
|
||||
@@ -121,6 +123,7 @@ public interface DescriptorRenderer : Renderer<DeclarationDescriptor> {
|
||||
public val DEBUG_TEXT: DescriptorRenderer = withOptions {
|
||||
debugMode = true
|
||||
nameShortness = NameShortness.FULLY_QUALIFIED
|
||||
modifiers = DescriptorRendererModifier.ALL
|
||||
}
|
||||
|
||||
public val FLEXIBLE_TYPES_FOR_CODE: DescriptorRenderer = withOptions {
|
||||
@@ -129,6 +132,7 @@ public interface DescriptorRenderer : Renderer<DeclarationDescriptor> {
|
||||
|
||||
public val HTML: DescriptorRenderer = withOptions {
|
||||
textFormat = RenderingFormat.HTML
|
||||
modifiers = DescriptorRendererModifier.ALL
|
||||
}
|
||||
|
||||
public fun getClassKindPrefix(klass: ClassDescriptor): String {
|
||||
@@ -203,11 +207,18 @@ public enum class ParameterNameRenderingPolicy {
|
||||
NONE
|
||||
}
|
||||
|
||||
public enum class DescriptorRendererModifier {
|
||||
VISIBILITY,
|
||||
MODALITY,
|
||||
OVERRIDE,
|
||||
ANNOTATIONS,
|
||||
INNER,
|
||||
MEMBER_KIND
|
||||
public enum class DescriptorRendererModifier(val includeByDefault: Boolean) {
|
||||
VISIBILITY(true),
|
||||
MODALITY(true),
|
||||
OVERRIDE(true),
|
||||
ANNOTATIONS(false),
|
||||
INNER(true),
|
||||
MEMBER_KIND(true)
|
||||
|
||||
;
|
||||
|
||||
companion object {
|
||||
val DEFAULTS = DescriptorRendererModifier.values().filter { it.includeByDefault }.toSet()
|
||||
val ALL = DescriptorRendererModifier.values().toSet()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ package org.jetbrains.kotlin.renderer
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.types.JetType
|
||||
import java.lang.reflect.Modifier
|
||||
import java.util.EnumSet
|
||||
import kotlin.properties.Delegates
|
||||
import kotlin.properties.ObservableProperty
|
||||
import kotlin.properties.ReadWriteProperty
|
||||
@@ -61,7 +60,7 @@ internal class DescriptorRendererOptionsImpl : DescriptorRendererOptions {
|
||||
|
||||
override var nameShortness by property(NameShortness.SOURCE_CODE_QUALIFIED)
|
||||
override var withDefinedIn by property(true)
|
||||
override var modifiers: Set<DescriptorRendererModifier> by property(EnumSet.allOf(javaClass<DescriptorRendererModifier>()))
|
||||
override var modifiers: Set<DescriptorRendererModifier> by property(DescriptorRendererModifier.DEFAULTS)
|
||||
override var startFromName by property(false)
|
||||
override var debugMode by property(false)
|
||||
override var classWithPrimaryConstructor by property(false)
|
||||
|
||||
@@ -21,6 +21,7 @@ import kotlin.jvm.functions.Function1;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererModifier;
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererOptions;
|
||||
|
||||
import java.util.Comparator;
|
||||
@@ -37,6 +38,7 @@ public class MemberComparator implements Comparator<DeclarationDescriptor> {
|
||||
public Unit invoke(DescriptorRendererOptions options) {
|
||||
options.setWithDefinedIn(false);
|
||||
options.setVerbose(true);
|
||||
options.setModifiers(DescriptorRendererModifier.ALL);
|
||||
return Unit.INSTANCE$;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package org.jetbrains.kotlin.idea.util
|
||||
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererModifier
|
||||
import org.jetbrains.kotlin.renderer.NameShortness
|
||||
import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy
|
||||
import org.jetbrains.kotlin.types.JetType
|
||||
@@ -32,6 +33,7 @@ public object IdeDescriptorRenderers {
|
||||
showInternalKeyword = false
|
||||
overrideRenderingPolicy = OverrideRenderingPolicy.RENDER_OVERRIDE
|
||||
unitReturnType = false
|
||||
modifiers = DescriptorRendererModifier.ALL
|
||||
}
|
||||
|
||||
public val SOURCE_CODE: DescriptorRenderer = BASE.withOptions {
|
||||
|
||||
+6
-1
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.load.kotlin.header.isCompatibleClassKind
|
||||
import org.jetbrains.kotlin.load.kotlin.header.isCompatiblePackageFacadeKind
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererModifier
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils.isEnumEntry
|
||||
import org.jetbrains.kotlin.resolve.dataClassUtils.isComponentLike
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.secondaryConstructors
|
||||
@@ -97,15 +98,19 @@ private val descriptorRendererForDecompiler = DescriptorRenderer.withOptions {
|
||||
classWithPrimaryConstructor = true
|
||||
typeNormalizer = { type -> if (type.isFlexible()) type.flexibility().lowerBound else type }
|
||||
secondaryConstructorsAsPrimary = false
|
||||
modifiers = DescriptorRendererModifier.ALL
|
||||
}
|
||||
|
||||
private val descriptorRendererForKotlinJavascriptDecompiler = DescriptorRenderer.withOptions {
|
||||
withDefinedIn = false
|
||||
classWithPrimaryConstructor = true
|
||||
secondaryConstructorsAsPrimary = false
|
||||
modifiers = DescriptorRendererModifier.ALL
|
||||
}
|
||||
|
||||
private val descriptorRendererForKeys = DescriptorRenderer.COMPACT_WITH_MODIFIERS
|
||||
private val descriptorRendererForKeys = DescriptorRenderer.COMPACT_WITH_MODIFIERS.withOptions {
|
||||
modifiers = DescriptorRendererModifier.ALL
|
||||
}
|
||||
|
||||
public fun descriptorToKey(descriptor: DeclarationDescriptor): String {
|
||||
return descriptorRendererForKeys.render(descriptor)
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fun foo(inlineOptions p: () -> Unit){}
|
||||
|
||||
fun bar() {
|
||||
<caret>
|
||||
}
|
||||
|
||||
// EXIST: { lookupString:"foo", itemText: "foo", tailText: " {...} (p: () -> Unit) (<root>)", typeText:"Unit" }
|
||||
+6
@@ -685,6 +685,12 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("NoParameterAnnotationInPresentation.kt")
|
||||
public void testNoParameterAnnotationInPresentation() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/NoParameterAnnotationInPresentation.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("NoSecondPressCompletionInAutoPopup.kt")
|
||||
public void testNoSecondPressCompletionInAutoPopup() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/NoSecondPressCompletionInAutoPopup.kt");
|
||||
|
||||
+6
@@ -685,6 +685,12 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("NoParameterAnnotationInPresentation.kt")
|
||||
public void testNoParameterAnnotationInPresentation() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/NoParameterAnnotationInPresentation.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("NoSecondPressCompletionInAutoPopup.kt")
|
||||
public void testNoSecondPressCompletionInAutoPopup() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/NoSecondPressCompletionInAutoPopup.kt");
|
||||
|
||||
Reference in New Issue
Block a user