From ee6dbac381cc4850ffb16bb8e40f712e8047885b Mon Sep 17 00:00:00 2001 From: Michael Bogdanov Date: Fri, 9 Oct 2015 18:40:51 +0300 Subject: [PATCH] Remove synthetic flag from internal members --- .../src/org/jetbrains/kotlin/codegen/AsmUtil.java | 1 - .../jetbrains/kotlin/codegen/PropertyCodegen.java | 4 ---- .../testData/codegen/boxWithStdlib/mangling/field.kt | 2 -- .../testData/codegen/boxWithStdlib/mangling/fun.kt | 2 -- .../property/classObject/trait/internalConstVal.kt | 2 +- .../property/classObject/trait/internalVal.kt | 2 +- .../property/classObject/trait/internalVar.kt | 2 +- .../classObject/trait/internalVarPrivateSet.kt | 2 +- .../kotlinInternalMethodUsages.0.kt | 12 ++++++++++++ .../kotlinInternalMethodUsages.1.kt | 8 ++++++++ .../kotlinInternalMethodUsages.results.txt | 2 ++ .../findUsages/JetFindUsagesTestGenerated.java | 6 ++++++ 12 files changed, 32 insertions(+), 13 deletions(-) create mode 100644 idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.0.kt create mode 100644 idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.1.kt create mode 100644 idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.results.txt diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/AsmUtil.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/AsmUtil.java index 069d0463804..5c14e8f48b4 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/AsmUtil.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/AsmUtil.java @@ -214,7 +214,6 @@ public class AsmUtil { } if (JetTypeMapper.isAccessor(functionDescriptor) - || functionDescriptor.getVisibility() == Visibilities.INTERNAL || AnnotationUtilKt.hasJvmSyntheticAnnotation(functionDescriptor)) { flags |= ACC_SYNTHETIC; } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/PropertyCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/PropertyCodegen.java index e3df89d475a..71ce2eb1ccf 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/PropertyCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/PropertyCodegen.java @@ -337,10 +337,6 @@ public class PropertyCodegen { modifiers |= ACC_PRIVATE; } - if (propertyDescriptor.getVisibility() == Visibilities.INTERNAL) { - modifiers |= ACC_SYNTHETIC; - } - if (AsmUtil.isPropertyWithBackingFieldCopyInOuterClass(propertyDescriptor)) { ImplementationBodyCodegen parentBodyCodegen = (ImplementationBodyCodegen) memberCodegen.getParentCodegen(); parentBodyCodegen.addCompanionObjectPropertyToCopy(propertyDescriptor, defaultValue); diff --git a/compiler/testData/codegen/boxWithStdlib/mangling/field.kt b/compiler/testData/codegen/boxWithStdlib/mangling/field.kt index 1631cda984f..1a48324d1ba 100644 --- a/compiler/testData/codegen/boxWithStdlib/mangling/field.kt +++ b/compiler/testData/codegen/boxWithStdlib/mangling/field.kt @@ -10,11 +10,9 @@ fun box(): String { val clazz = Z::class.java val classField = clazz.getDeclaredField("noMangling") if (classField == null) return "Class internal backing field should exist" - if (!classField.isSynthetic) return "Class internal backing field should be synthetic" val topLevel = Class.forName("test.FieldKt").getDeclaredField("noMangling") if (topLevel == null) return "Top level internal backing field should exist" - if (!topLevel.isSynthetic) return "Top level internal backing field should be synthetic" return "OK" } \ No newline at end of file diff --git a/compiler/testData/codegen/boxWithStdlib/mangling/fun.kt b/compiler/testData/codegen/boxWithStdlib/mangling/fun.kt index a1ed4d89455..491e98a352b 100644 --- a/compiler/testData/codegen/boxWithStdlib/mangling/fun.kt +++ b/compiler/testData/codegen/boxWithStdlib/mangling/fun.kt @@ -14,11 +14,9 @@ fun box(): String { it.name.startsWith("mangled$") } if (mangled == null) return "Class internal function should exist" - if (!mangled.isSynthetic) return "Class internal function should be synthetic" val topLevel = Class.forName("test.FunKt").getMethod("noMangling") if (topLevel == null) return "Top level internal function should exist" - if (!topLevel.isSynthetic) return "Top level internal function should be synthetic" return "OK" } \ No newline at end of file diff --git a/compiler/testData/writeFlags/property/classObject/trait/internalConstVal.kt b/compiler/testData/writeFlags/property/classObject/trait/internalConstVal.kt index def3d7a4e07..64cdcad38f2 100644 --- a/compiler/testData/writeFlags/property/classObject/trait/internalConstVal.kt +++ b/compiler/testData/writeFlags/property/classObject/trait/internalConstVal.kt @@ -10,4 +10,4 @@ interface Test { // TESTED_OBJECT_KIND: property // TESTED_OBJECTS: Test$Companion, prop -// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC, ACC_SYNTHETIC \ No newline at end of file +// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC \ No newline at end of file diff --git a/compiler/testData/writeFlags/property/classObject/trait/internalVal.kt b/compiler/testData/writeFlags/property/classObject/trait/internalVal.kt index b04c032cece..bca293f84ba 100644 --- a/compiler/testData/writeFlags/property/classObject/trait/internalVal.kt +++ b/compiler/testData/writeFlags/property/classObject/trait/internalVal.kt @@ -10,4 +10,4 @@ interface Test { // TESTED_OBJECT_KIND: property // TESTED_OBJECTS: Test$Companion, prop -// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC, ACC_SYNTHETIC \ No newline at end of file +// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC \ No newline at end of file diff --git a/compiler/testData/writeFlags/property/classObject/trait/internalVar.kt b/compiler/testData/writeFlags/property/classObject/trait/internalVar.kt index 13111346f50..c0a8c0c13f6 100644 --- a/compiler/testData/writeFlags/property/classObject/trait/internalVar.kt +++ b/compiler/testData/writeFlags/property/classObject/trait/internalVar.kt @@ -10,4 +10,4 @@ interface Test { // TESTED_OBJECT_KIND: property // TESTED_OBJECTS: Test$Companion, prop -// FLAGS: ACC_PUBLIC, ACC_STATIC, ACC_SYNTHETIC +// FLAGS: ACC_PUBLIC, ACC_STATIC diff --git a/compiler/testData/writeFlags/property/classObject/trait/internalVarPrivateSet.kt b/compiler/testData/writeFlags/property/classObject/trait/internalVarPrivateSet.kt index aded35e1d0e..4f16053d69a 100644 --- a/compiler/testData/writeFlags/property/classObject/trait/internalVarPrivateSet.kt +++ b/compiler/testData/writeFlags/property/classObject/trait/internalVarPrivateSet.kt @@ -11,4 +11,4 @@ interface Test { // TESTED_OBJECT_KIND: property // TESTED_OBJECTS: Test$Companion, prop -// FLAGS: ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC \ No newline at end of file +// FLAGS: ACC_PRIVATE, ACC_STATIC \ No newline at end of file diff --git a/idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.0.kt b/idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.0.kt new file mode 100644 index 00000000000..0aa36497805 --- /dev/null +++ b/idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.0.kt @@ -0,0 +1,12 @@ +// PSI_ELEMENT: org.jetbrains.kotlin.psi.JetNamedFunction +// OPTIONS: usages +package server + +public open class Server() { + open internal fun processRequest() = "foo" +} + +public class ServerEx(): Server() { + override fun processRequest() = "foofoo" +} + diff --git a/idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.1.kt b/idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.1.kt new file mode 100644 index 00000000000..17b7c749d69 --- /dev/null +++ b/idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.1.kt @@ -0,0 +1,8 @@ +import server.*; + +class Client { + public fun foo() { + Server().processRequest() + ServerEx().processRequest() + } +} diff --git a/idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.results.txt b/idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.results.txt new file mode 100644 index 00000000000..afc030e0d85 --- /dev/null +++ b/idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.results.txt @@ -0,0 +1,2 @@ +Function call (5: 18) Server().processRequest() +Function call (6: 20) ServerEx().processRequest() diff --git a/idea/tests/org/jetbrains/kotlin/findUsages/JetFindUsagesTestGenerated.java b/idea/tests/org/jetbrains/kotlin/findUsages/JetFindUsagesTestGenerated.java index e053e0cbf11..6f76fe94824 100644 --- a/idea/tests/org/jetbrains/kotlin/findUsages/JetFindUsagesTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/findUsages/JetFindUsagesTestGenerated.java @@ -552,6 +552,12 @@ public class JetFindUsagesTestGenerated extends AbstractJetFindUsagesTest { doTest(fileName); } + @TestMetadata("kotlinInternalMethodUsages.0.kt") + public void testKotlinInternalMethodUsages() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/findUsages/kotlin/findFunctionUsages/kotlinInternalMethodUsages.0.kt"); + doTest(fileName); + } + @TestMetadata("kotlinLocalMethodUsages1.0.kt") public void testKotlinLocalMethodUsages1() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/findUsages/kotlin/findFunctionUsages/kotlinLocalMethodUsages1.0.kt");