Copy to interface just companion object public const properties
This commit is contained in:
@@ -758,14 +758,8 @@ public class AsmUtil {
|
||||
}
|
||||
|
||||
public static int getVisibilityForSpecialPropertyBackingField(@NotNull PropertyDescriptor propertyDescriptor, boolean isDelegate) {
|
||||
return getVisibilityForSpecialPropertyBackingField(propertyDescriptor, isDelegate, false);
|
||||
}
|
||||
|
||||
public static int getVisibilityForSpecialPropertyBackingField(@NotNull PropertyDescriptor propertyDescriptor, boolean isDelegate, boolean skipInterfaceCheck) {
|
||||
boolean isExtensionProperty = propertyDescriptor.getExtensionReceiverParameter() != null;
|
||||
if (isDelegate ||
|
||||
isExtensionProperty ||
|
||||
(!skipInterfaceCheck && isInterfaceCompanionObject(propertyDescriptor.getContainingDeclaration()))) {
|
||||
if (isDelegate || isExtensionProperty) {
|
||||
return ACC_PRIVATE;
|
||||
}
|
||||
else {
|
||||
@@ -785,13 +779,10 @@ public class AsmUtil {
|
||||
}
|
||||
|
||||
public static boolean isPropertyWithBackingFieldCopyInOuterClass(@NotNull PropertyDescriptor propertyDescriptor) {
|
||||
boolean isExtensionProperty = propertyDescriptor.getExtensionReceiverParameter() != null;
|
||||
DeclarationDescriptor propertyContainer = propertyDescriptor.getContainingDeclaration();
|
||||
return !propertyDescriptor.isVar()
|
||||
&& !isExtensionProperty
|
||||
&& isCompanionObject(propertyContainer) && isInterface(propertyContainer.getContainingDeclaration())
|
||||
&& areBothAccessorDefault(propertyDescriptor)
|
||||
&& getVisibilityForSpecialPropertyBackingField(propertyDescriptor, false, true) == ACC_PUBLIC;
|
||||
return propertyDescriptor.isConst()
|
||||
&& isInterfaceCompanionObject(propertyContainer)
|
||||
&& propertyDescriptor.getVisibility() == Visibilities.PUBLIC;
|
||||
}
|
||||
|
||||
public static boolean isCompanionObjectWithBackingFieldsInOuter(@NotNull DeclarationDescriptor companionObject) {
|
||||
|
||||
@@ -59,6 +59,7 @@ import static org.jetbrains.kotlin.codegen.JvmCodegenUtil.isJvmInterface;
|
||||
import static org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings.*;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isCompanionObject;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isInterface;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isInterfaceCompanionObject;
|
||||
import static org.jetbrains.kotlin.resolve.jvm.AsmTypes.PROPERTY_METADATA_TYPE;
|
||||
import static org.jetbrains.kotlin.resolve.jvm.diagnostics.DiagnosticsPackage.OtherOrigin;
|
||||
import static org.jetbrains.org.objectweb.asm.Opcodes.*;
|
||||
@@ -315,7 +316,9 @@ public class PropertyCodegen {
|
||||
else if (hasPublicFieldAnnotation && !isDelegate) {
|
||||
modifiers |= ACC_PUBLIC;
|
||||
}
|
||||
else {
|
||||
else if (isInterfaceCompanionObject(propertyDescriptor.getContainingDeclaration())) {
|
||||
modifiers |= ACC_PRIVATE;
|
||||
} else {
|
||||
modifiers |= getVisibilityForSpecialPropertyBackingField(propertyDescriptor, isDelegate);
|
||||
}
|
||||
|
||||
|
||||
@@ -66,14 +66,14 @@ public class GenerationState @JvmOverloads constructor(
|
||||
public val incrementalCompilationComponents: IncrementalCompilationComponents? = null,
|
||||
public val progress: Progress = Progress.DEAF
|
||||
) {
|
||||
public interface GenerateClassFilter {
|
||||
public fun shouldAnnotateClass(classOrObject: JetClassOrObject): Boolean
|
||||
public fun shouldGenerateClass(classOrObject: JetClassOrObject): Boolean
|
||||
public fun shouldGeneratePackagePart(jetFile: JetFile): Boolean
|
||||
public fun shouldGenerateScript(script: JetScript): Boolean
|
||||
public abstract class GenerateClassFilter {
|
||||
public abstract fun shouldAnnotateClass(classOrObject: JetClassOrObject): Boolean
|
||||
public abstract fun shouldGenerateClass(classOrObject: JetClassOrObject): Boolean
|
||||
public abstract fun shouldGeneratePackagePart(jetFile: JetFile): Boolean
|
||||
public abstract fun shouldGenerateScript(script: JetScript): Boolean
|
||||
|
||||
companion object {
|
||||
public val GENERATE_ALL: GenerateClassFilter = object : GenerateClassFilter {
|
||||
public val GENERATE_ALL: GenerateClassFilter = object : GenerateClassFilter() {
|
||||
override fun shouldAnnotateClass(classOrObject: JetClassOrObject): Boolean = true
|
||||
|
||||
override fun shouldGenerateClass(classOrObject: JetClassOrObject): Boolean = true
|
||||
|
||||
+1
-1
@@ -97,7 +97,7 @@ public enum TopDownAnalyzerFacadeForJVM {
|
||||
new FileBasedDeclarationProviderFactory(moduleContext.getStorageManager(), allFiles);
|
||||
|
||||
LookupTracker lookupTracker =
|
||||
incrementalCompilationComponents != null ? incrementalCompilationComponents.getLookupTracker() : LookupTracker.DO_NOTHING;
|
||||
incrementalCompilationComponents != null ? incrementalCompilationComponents.getLookupTracker() : LookupTracker.Companion.getDO_NOTHING();
|
||||
|
||||
List<TargetId> targetIds = null;
|
||||
if (modules != null) {
|
||||
|
||||
@@ -54,7 +54,7 @@ public interface BindingContext {
|
||||
@NotNull
|
||||
@Override
|
||||
public Diagnostics getDiagnostics() {
|
||||
return Diagnostics.EMPTY;
|
||||
return Diagnostics.Companion.getEMPTY();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -85,7 +85,7 @@ public class BindingTraceContext implements BindingTrace {
|
||||
|
||||
private BindingTraceContext(@NotNull MutableSlicedMap map) {
|
||||
this.map = map;
|
||||
this.mutableDiagnostics = new MutableDiagnosticsWithSuppression(bindingContext, Diagnostics.EMPTY);
|
||||
this.mutableDiagnostics = new MutableDiagnosticsWithSuppression(bindingContext, Diagnostics.Companion.getEMPTY());
|
||||
}
|
||||
|
||||
@TestOnly
|
||||
|
||||
+3
@@ -8,6 +8,9 @@ public interface TraitClassObjectField {
|
||||
private final java.lang.String x = "";
|
||||
private final java.lang.String y = "";
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
@org.jetbrains.annotations.Nullable
|
||||
public final java.lang.String getX() { /* compiled code */ }
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
|
||||
interface TraitClassObjectField {
|
||||
companion object {
|
||||
val x: String? = ""
|
||||
const val x: String? = ""
|
||||
private val y: String? = ""
|
||||
}
|
||||
}
|
||||
Vendored
+2
-2
@@ -6,14 +6,14 @@ class Klass {
|
||||
|
||||
interface Trait {
|
||||
companion object {
|
||||
val NAME = "Trait"
|
||||
const val NAME = "Trait"
|
||||
}
|
||||
}
|
||||
|
||||
enum class Enoom {
|
||||
;
|
||||
companion object {
|
||||
val NAME = "Enoom"
|
||||
const val NAME = "Enoom"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,9 +17,6 @@ public class ErrorsJvmClass {
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val genericTypeInTrait = javaClass<ErrorsJvmTrait>().getField("param").getGenericType()
|
||||
if (genericTypeInTrait.toString() != "test.G<java.lang.String>") return "fail1: $genericTypeInTrait"
|
||||
|
||||
val genericTypeInClassObject = ErrorsJvmTrait.javaClass.getDeclaredField("param").getGenericType()
|
||||
if (genericTypeInClassObject.toString() != "test.G<java.lang.String>") return "fail1: $genericTypeInClassObject"
|
||||
|
||||
|
||||
@@ -11,13 +11,13 @@ annotation class AFloat(val value: Float)
|
||||
interface Test {
|
||||
|
||||
companion object {
|
||||
val vstring: String = "Test"
|
||||
val vchar: Char = 'c'
|
||||
val vint: Int = 10
|
||||
val vbyte: Byte = 11
|
||||
val vlong: Long = 12
|
||||
val vdouble: Double = 1.2
|
||||
val vfloat: Float = 1.3.toFloat()
|
||||
const val vstring: String = "Test"
|
||||
const val vchar: Char = 'c'
|
||||
const val vint: Int = 10
|
||||
const val vbyte: Byte = 11
|
||||
const val vlong: Long = 12
|
||||
const val vdouble: Double = 1.2
|
||||
const val vfloat: Float = 1.3.toFloat()
|
||||
}
|
||||
|
||||
}
|
||||
+7
-7
@@ -43,12 +43,12 @@ public interface Test {
|
||||
|
||||
public companion object Companion {
|
||||
private constructor Companion()
|
||||
public final val vbyte: kotlin.Byte
|
||||
public final val vchar: kotlin.Char
|
||||
public final val vdouble: kotlin.Double
|
||||
public final val vfloat: kotlin.Float
|
||||
public final val vint: kotlin.Int
|
||||
public final val vlong: kotlin.Long
|
||||
public final val vstring: kotlin.String
|
||||
public const final val vbyte: kotlin.Byte
|
||||
public const final val vchar: kotlin.Char
|
||||
public const final val vdouble: kotlin.Double
|
||||
public const final val vfloat: kotlin.Float
|
||||
public const final val vint: kotlin.Int
|
||||
public const final val vlong: kotlin.Long
|
||||
public const final val vstring: kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package test
|
||||
interface Test {
|
||||
|
||||
companion object {
|
||||
public val valProp: Int = 10
|
||||
public const val valProp: Int = 10
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -4,7 +4,7 @@ public interface Test {
|
||||
|
||||
public companion object Companion {
|
||||
private constructor Companion()
|
||||
public final val valProp: kotlin.Int
|
||||
public const final val valProp: kotlin.Int
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
interface Test {
|
||||
companion object {
|
||||
internal const val prop: Int = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// ABSENT: TRUE
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC, ACC_SYNTHETIC
|
||||
@@ -1,13 +1,13 @@
|
||||
interface Test {
|
||||
companion object {
|
||||
val prop: Int = 0;
|
||||
internal val prop: Int = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
|
||||
// ABSENT: TRUE
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
// FLAGS: ACC_PRIVATE, ACC_FINAL, ACC_STATIC
|
||||
// FLAGS: ACC_PRIVATE, ACC_FINAL, ACC_STATIC, ACC_SYNTHETIC
|
||||
@@ -1,6 +1,6 @@
|
||||
interface Test {
|
||||
companion object {
|
||||
var prop: Int = 0;
|
||||
internal var prop: Int = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,4 +10,4 @@ interface Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
// FLAGS: ACC_PRIVATE, ACC_STATIC
|
||||
// FLAGS: ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
interface Test {
|
||||
companion object {
|
||||
var prop: Int = 0
|
||||
internal var prop: Int = 0
|
||||
private set
|
||||
}
|
||||
}
|
||||
@@ -11,4 +11,4 @@ interface Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
// FLAGS: ACC_PRIVATE, ACC_STATIC
|
||||
// FLAGS: ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
|
||||
@@ -0,0 +1,13 @@
|
||||
interface Test {
|
||||
companion object {
|
||||
public const val prop: Int = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC
|
||||
@@ -6,7 +6,7 @@ interface Test {
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test, prop
|
||||
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
|
||||
// ABSENT: TRUE
|
||||
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: Test$Companion, prop
|
||||
|
||||
@@ -72,8 +72,8 @@ public abstract class BaseDiagnosticsTest extends
|
||||
public static final String CHECK_TYPE_IMPORT = "import " + CHECK_TYPE_PACKAGE + ".*";
|
||||
|
||||
public static final String EXPLICIT_FLEXIBLE_TYPES_DIRECTIVE = "EXPLICIT_FLEXIBLE_TYPES";
|
||||
public static final String EXPLICIT_FLEXIBLE_PACKAGE = Flexibility.FLEXIBLE_TYPE_CLASSIFIER.getPackageFqName().asString();
|
||||
public static final String EXPLICIT_FLEXIBLE_CLASS_NAME = Flexibility.FLEXIBLE_TYPE_CLASSIFIER.getRelativeClassName().asString();
|
||||
public static final String EXPLICIT_FLEXIBLE_PACKAGE = Flexibility.Companion.getFLEXIBLE_TYPE_CLASSIFIER().getPackageFqName().asString();
|
||||
public static final String EXPLICIT_FLEXIBLE_CLASS_NAME = Flexibility.Companion.getFLEXIBLE_TYPE_CLASSIFIER().getRelativeClassName().asString();
|
||||
private static final String EXPLICIT_FLEXIBLE_TYPES_DECLARATIONS
|
||||
= "\npackage " + EXPLICIT_FLEXIBLE_PACKAGE +
|
||||
"\npublic class " + EXPLICIT_FLEXIBLE_CLASS_NAME + "<L, U>";
|
||||
|
||||
@@ -54,7 +54,7 @@ public class GenerationUtils {
|
||||
|
||||
@NotNull
|
||||
public static GenerationState compileManyFilesGetGenerationStateForTest(@NotNull Project project, @NotNull List<JetFile> files) {
|
||||
return compileManyFilesGetGenerationStateForTest(project, files, PackagePartProvider.EMPTY);
|
||||
return compileManyFilesGetGenerationStateForTest(project, files, PackagePartProvider.Companion.getEMPTY());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -779,6 +779,12 @@ public class WriteFlagsTestGenerated extends AbstractWriteFlagsTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("internalConstVal.kt")
|
||||
public void testInternalConstVal() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/writeFlags/property/classObject/trait/internalConstVal.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("internalVal.kt")
|
||||
public void testInternalVal() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/writeFlags/property/classObject/trait/internalVal.kt");
|
||||
@@ -827,6 +833,12 @@ public class WriteFlagsTestGenerated extends AbstractWriteFlagsTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("publicConstVal.kt")
|
||||
public void testPublicConstVal() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/writeFlags/property/classObject/trait/publicConstVal.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("publicVal.kt")
|
||||
public void testPublicVal() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/writeFlags/property/classObject/trait/publicVal.kt");
|
||||
|
||||
@@ -37,7 +37,7 @@ public class JvmResolveUtil {
|
||||
public static String TEST_MODULE_NAME = "java-integration-test";
|
||||
@NotNull
|
||||
public static AnalysisResult analyzeOneFileWithJavaIntegrationAndCheckForErrors(@NotNull JetFile file) {
|
||||
return analyzeOneFileWithJavaIntegrationAndCheckForErrors(file, PackagePartProvider.EMPTY);
|
||||
return analyzeOneFileWithJavaIntegrationAndCheckForErrors(file, PackagePartProvider.Companion.getEMPTY());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -63,7 +63,7 @@ public class JvmResolveUtil {
|
||||
|
||||
@NotNull
|
||||
public static AnalysisResult analyzeOneFileWithJavaIntegration(@NotNull JetFile file) {
|
||||
return analyzeOneFileWithJavaIntegration(file, PackagePartProvider.EMPTY);
|
||||
return analyzeOneFileWithJavaIntegration(file, PackagePartProvider.Companion.getEMPTY());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -71,7 +71,7 @@ public class JvmResolveUtil {
|
||||
@NotNull Project project,
|
||||
@NotNull Collection<JetFile> files
|
||||
) {
|
||||
return analyzeFilesWithJavaIntegrationAndCheckForErrors(project, files, PackagePartProvider.EMPTY);
|
||||
return analyzeFilesWithJavaIntegrationAndCheckForErrors(project, files, PackagePartProvider.Companion.getEMPTY());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -125,7 +125,7 @@ public class JetTestUtils {
|
||||
@NotNull
|
||||
@Override
|
||||
public Diagnostics getDiagnostics() {
|
||||
return Diagnostics.EMPTY;
|
||||
return Diagnostics.Companion.getEMPTY();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -26,36 +26,36 @@ import org.jetbrains.kotlin.types.JetType
|
||||
import org.jetbrains.kotlin.types.TypeConstructor
|
||||
import org.jetbrains.kotlin.types.TypeProjection
|
||||
|
||||
public interface DescriptorRenderer : Renderer<DeclarationDescriptor> {
|
||||
public abstract class DescriptorRenderer : Renderer<DeclarationDescriptor> {
|
||||
public fun withOptions(changeOptions: DescriptorRendererOptions.() -> Unit): DescriptorRenderer {
|
||||
val options = (this as DescriptorRendererImpl).options.copy()
|
||||
options.changeOptions()
|
||||
options.lock()
|
||||
return DescriptorRendererImpl(options)
|
||||
}
|
||||
|
||||
public fun renderType(type: JetType): String
|
||||
|
||||
public fun renderTypeArguments(typeArguments: List<TypeProjection>): String
|
||||
public abstract fun renderType(type: JetType): String
|
||||
|
||||
public fun renderTypeProjection(typeProjection: TypeProjection): String
|
||||
public abstract fun renderTypeArguments(typeArguments: List<TypeProjection>): String
|
||||
|
||||
public fun renderTypeConstructor(typeConstructor: TypeConstructor): String
|
||||
public abstract fun renderTypeProjection(typeProjection: TypeProjection): String
|
||||
|
||||
public fun renderClassifierName(klass: ClassifierDescriptor): String
|
||||
public abstract fun renderTypeConstructor(typeConstructor: TypeConstructor): String
|
||||
|
||||
public fun renderAnnotation(annotation: AnnotationDescriptor, target: AnnotationUseSiteTarget? = null): String
|
||||
public abstract fun renderClassifierName(klass: ClassifierDescriptor): String
|
||||
|
||||
override fun render(declarationDescriptor: DeclarationDescriptor): String
|
||||
public abstract fun renderAnnotation(annotation: AnnotationDescriptor, target: AnnotationUseSiteTarget? = null): String
|
||||
|
||||
public fun renderValueParameters(parameters: Collection<ValueParameterDescriptor>, synthesizedParameterNames: Boolean): String
|
||||
override abstract fun render(declarationDescriptor: DeclarationDescriptor): String
|
||||
|
||||
public abstract fun renderValueParameters(parameters: Collection<ValueParameterDescriptor>, synthesizedParameterNames: Boolean): String
|
||||
|
||||
public fun renderFunctionParameters(functionDescriptor: FunctionDescriptor): String
|
||||
= renderValueParameters(functionDescriptor.valueParameters, functionDescriptor.hasSynthesizedParameterNames())
|
||||
|
||||
public fun renderName(name: Name): String
|
||||
public abstract fun renderName(name: Name): String
|
||||
|
||||
public fun renderFqName(fqName: FqNameBase): String
|
||||
public abstract fun renderFqName(fqName: FqNameBase): String
|
||||
|
||||
public interface ValueParametersHandler {
|
||||
public fun appendBeforeValueParameters(parameterCount: Int, builder: StringBuilder)
|
||||
|
||||
@@ -40,7 +40,7 @@ import java.util.*
|
||||
|
||||
internal class DescriptorRendererImpl(
|
||||
val options: DescriptorRendererOptionsImpl
|
||||
) : DescriptorRenderer, DescriptorRendererOptions by options/* this gives access to options without qualifier */ {
|
||||
) : DescriptorRenderer(), DescriptorRendererOptions by options/* this gives access to options without qualifier */ {
|
||||
|
||||
init {
|
||||
assert(options.isLocked)
|
||||
|
||||
@@ -306,7 +306,7 @@ public class DescriptorUtils {
|
||||
}
|
||||
|
||||
public static boolean isInterfaceCompanionObject(@NotNull DeclarationDescriptor descriptor) {
|
||||
return isCompanionObject(descriptor) && isKindOf(descriptor.getContainingDeclaration(), ClassKind.INTERFACE);
|
||||
return isCompanionObject(descriptor) && isInterface(descriptor.getContainingDeclaration());
|
||||
}
|
||||
|
||||
public static boolean isObject(@NotNull DeclarationDescriptor descriptor) {
|
||||
|
||||
@@ -352,7 +352,7 @@ class KotlinEvaluator(val codeFragment: JetCodeFragment,
|
||||
|
||||
val (bindingContext, moduleDescriptor, files) = jetFile.checkForErrors(true)
|
||||
|
||||
val generateClassFilter = object : GenerationState.GenerateClassFilter {
|
||||
val generateClassFilter = object : GenerationState.GenerateClassFilter() {
|
||||
override fun shouldGeneratePackagePart(file: JetFile) = file == jetFile
|
||||
override fun shouldAnnotateClass(classOrObject: JetClassOrObject) = true
|
||||
override fun shouldGenerateClass(classOrObject: JetClassOrObject) = classOrObject.getContainingJetFile() == jetFile
|
||||
|
||||
@@ -102,7 +102,7 @@ public class JetAnonymousSuperMacro extends Macro {
|
||||
|
||||
List<PsiNamedElement> result = new ArrayList<PsiNamedElement>();
|
||||
|
||||
for (DeclarationDescriptor descriptor : scope.getDescriptors(DescriptorKindFilter.NON_SINGLETON_CLASSIFIERS, JetScope.ALL_NAME_FILTER)) {
|
||||
for (DeclarationDescriptor descriptor : scope.getDescriptors(DescriptorKindFilter.NON_SINGLETON_CLASSIFIERS, JetScope.Companion.getALL_NAME_FILTER())) {
|
||||
if (!(descriptor instanceof ClassDescriptor)) continue;
|
||||
ClassDescriptor classDescriptor = (ClassDescriptor) descriptor;
|
||||
if (!classDescriptor.getModality().isOverridable()) continue;
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ package server
|
||||
|
||||
interface Some {
|
||||
companion object {
|
||||
val <caret>XX = 1
|
||||
const val <caret>XX = 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ public object KotlinObject {
|
||||
|
||||
public interface StaticFieldInClassObjectInTrait {
|
||||
companion object {
|
||||
public val XX: String = "xx"
|
||||
public const val XX: String = "xx"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -3,6 +3,6 @@ package test
|
||||
interface Trait {
|
||||
companion object {
|
||||
// Old and new constant values are different, but their hashes are the same
|
||||
val CONST = "BF"
|
||||
const val CONST = "BF"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user