Minor: fix deprecations in Kotlin Android Extensions code
This commit is contained in:
@@ -68,7 +68,7 @@ public class AndroidCommandLineProcessor : CommandLineProcessor {
|
|||||||
|
|
||||||
public class CliAndroidDeclarationsProvider(private val project: Project) : ExternalDeclarationsProvider {
|
public class CliAndroidDeclarationsProvider(private val project: Project) : ExternalDeclarationsProvider {
|
||||||
override fun getExternalDeclarations(moduleInfo: ModuleInfo?): Collection<JetFile> {
|
override fun getExternalDeclarations(moduleInfo: ModuleInfo?): Collection<JetFile> {
|
||||||
val parser = ServiceManager.getService<AndroidUIXmlProcessor>(project, javaClass<AndroidUIXmlProcessor>())
|
val parser = ServiceManager.getService(project, javaClass<AndroidUIXmlProcessor>())
|
||||||
return parser.parseToPsi() ?: listOf()
|
return parser.parseToPsi() ?: listOf()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ public class AndroidExpressionCodegenExtension : ExpressionCodegenExtension {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun CallableDescriptor.getAndroidPackage(): String? {
|
private fun CallableDescriptor.getAndroidPackage(): String? {
|
||||||
return DescriptorToSourceUtils.getContainingFile(this)?.getUserData<String>(AndroidConst.ANDROID_USER_PACKAGE)
|
return DescriptorToSourceUtils.getContainingFile(this)?.getUserData(AndroidConst.ANDROID_USER_PACKAGE)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun ResolvedCall<*>.getReceiverDeclarationDescriptor(): ClassifierDescriptor? {
|
private fun ResolvedCall<*>.getReceiverDeclarationDescriptor(): ClassifierDescriptor? {
|
||||||
@@ -337,6 +337,7 @@ public class AndroidExpressionCodegenExtension : ExpressionCodegenExtension {
|
|||||||
loadId()
|
loadId()
|
||||||
iv.invokevirtual("android/view/View", "findViewById", "(I)Landroid/view/View;", false)
|
iv.invokevirtual("android/view/View", "findViewById", "(I)Landroid/view/View;", false)
|
||||||
}
|
}
|
||||||
|
else -> throw IllegalStateException("Can't generate code for $androidClassType")
|
||||||
}
|
}
|
||||||
iv.store(2, viewType)
|
iv.store(2, viewType)
|
||||||
|
|
||||||
|
|||||||
+3
-4
@@ -35,8 +35,7 @@ public abstract class AndroidResourceManager(val project: Project) {
|
|||||||
public open fun propertyToXmlAttributes(property: JetProperty): List<PsiElement> = listOf()
|
public open fun propertyToXmlAttributes(property: JetProperty): List<PsiElement> = listOf()
|
||||||
|
|
||||||
public fun getLayoutXmlFiles(): Map<String, List<PsiFile>> {
|
public fun getLayoutXmlFiles(): Map<String, List<PsiFile>> {
|
||||||
val info = androidModuleInfo
|
val info = androidModuleInfo ?: return mapOf()
|
||||||
if (info == null) return mapOf()
|
|
||||||
|
|
||||||
val psiManager = PsiManager.getInstance(project)
|
val psiManager = PsiManager.getInstance(project)
|
||||||
val fileManager = VirtualFileManager.getInstance()
|
val fileManager = VirtualFileManager.getInstance()
|
||||||
@@ -68,8 +67,8 @@ public abstract class AndroidResourceManager(val project: Project) {
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
public fun getInstance(module: Module): AndroidResourceManager {
|
public fun getInstance(module: Module): AndroidResourceManager {
|
||||||
val service = ModuleServiceManager.getService<AndroidResourceManager>(module, javaClass<AndroidResourceManager>())
|
val service = ModuleServiceManager.getService(module, javaClass<AndroidResourceManager>())
|
||||||
return service ?: module.getComponent<AndroidResourceManager>(javaClass<AndroidResourceManager>())
|
return service ?: module.getComponent(javaClass<AndroidResourceManager>())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.lang.resolve.android
|
package org.jetbrains.kotlin.lang.resolve.android
|
||||||
|
|
||||||
trait KotlinWriter {
|
interface KotlinWriter {
|
||||||
fun toStringBuffer(): StringBuffer
|
fun toStringBuffer(): StringBuffer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+5
-1
@@ -53,10 +53,14 @@ fun UsefulTestCase.createAndroidTestEnvironment(
|
|||||||
): KotlinCoreEnvironment {
|
): KotlinCoreEnvironment {
|
||||||
configuration.put(AndroidConfigurationKeys.ANDROID_RES_PATH, resPaths)
|
configuration.put(AndroidConfigurationKeys.ANDROID_RES_PATH, resPaths)
|
||||||
configuration.put(AndroidConfigurationKeys.ANDROID_MANIFEST, manifestPath)
|
configuration.put(AndroidConfigurationKeys.ANDROID_MANIFEST, manifestPath)
|
||||||
|
|
||||||
val myEnvironment = KotlinCoreEnvironment.createForTests(getTestRootDisposable()!!, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
|
val myEnvironment = KotlinCoreEnvironment.createForTests(getTestRootDisposable()!!, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
|
||||||
val project = myEnvironment.project
|
val project = myEnvironment.project
|
||||||
ExternalDeclarationsProvider.registerExtension(project, AndroidTestExternalDeclarationsProvider(project, resPaths, manifestPath, supportV4))
|
|
||||||
|
val declarationsProvider = AndroidTestExternalDeclarationsProvider(project, resPaths, manifestPath, supportV4)
|
||||||
|
ExternalDeclarationsProvider.registerExtension(project, declarationsProvider)
|
||||||
ExpressionCodegenExtension.registerExtension(project, AndroidExpressionCodegenExtension())
|
ExpressionCodegenExtension.registerExtension(project, AndroidExpressionCodegenExtension())
|
||||||
|
|
||||||
return myEnvironment
|
return myEnvironment
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -61,8 +61,8 @@ public class AndroidPsiTreeChangePreprocessor : PsiTreeChangePreprocessor, Simpl
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun AndroidResourceManager.getModuleResDirectories(): List<VirtualFile> {
|
private fun AndroidResourceManager.getModuleResDirectories(): List<VirtualFile> {
|
||||||
val info = androidModuleInfo
|
val info = androidModuleInfo ?: return listOf()
|
||||||
if (info == null) return listOf()
|
|
||||||
val fileManager = VirtualFileManager.getInstance()
|
val fileManager = VirtualFileManager.getInstance()
|
||||||
return info.resDirectories.map { fileManager.findFileByUrl("file://" + it) }
|
return info.resDirectories.map { fileManager.findFileByUrl("file://" + it) }
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-4
@@ -91,8 +91,7 @@ public class AndroidRenameProcessor : RenamePsiElementProcessor() {
|
|||||||
newName: String,
|
newName: String,
|
||||||
allRenames: MutableMap<PsiElement, String>
|
allRenames: MutableMap<PsiElement, String>
|
||||||
) {
|
) {
|
||||||
val module = jetProperty.getModule()
|
val module = jetProperty.getModule() ?: return
|
||||||
if (module == null) return
|
|
||||||
|
|
||||||
val processor = ModuleServiceManager.getService(module, javaClass<AndroidUIXmlProcessor>())
|
val processor = ModuleServiceManager.getService(module, javaClass<AndroidUIXmlProcessor>())
|
||||||
val resourceManager = processor.resourceManager
|
val resourceManager = processor.resourceManager
|
||||||
@@ -119,8 +118,7 @@ public class AndroidRenameProcessor : RenamePsiElementProcessor() {
|
|||||||
) {
|
) {
|
||||||
val element = LazyValueResourceElementWrapper.computeLazyElement(attribute)
|
val element = LazyValueResourceElementWrapper.computeLazyElement(attribute)
|
||||||
val module = attribute.getModule() ?: ModuleUtilCore.findModuleForFile(
|
val module = attribute.getModule() ?: ModuleUtilCore.findModuleForFile(
|
||||||
attribute.getContainingFile().getVirtualFile(), attribute.getProject())
|
attribute.getContainingFile().getVirtualFile(), attribute.getProject()) ?: return
|
||||||
if (module == null) return
|
|
||||||
|
|
||||||
val processor = ModuleServiceManager.getService(module, javaClass<AndroidUIXmlProcessor>())
|
val processor = ModuleServiceManager.getService(module, javaClass<AndroidUIXmlProcessor>())
|
||||||
if (element == null) return
|
if (element == null) return
|
||||||
|
|||||||
+2
-4
@@ -26,10 +26,8 @@ import org.jetbrains.kotlin.lang.resolve.android.isAndroidSyntheticElement
|
|||||||
|
|
||||||
public class AndroidSimpleNameReferenceExtension : SimpleNameReferenceExtension {
|
public class AndroidSimpleNameReferenceExtension : SimpleNameReferenceExtension {
|
||||||
override fun isReferenceTo(reference: JetSimpleNameReference, element: PsiElement): Boolean? {
|
override fun isReferenceTo(reference: JetSimpleNameReference, element: PsiElement): Boolean? {
|
||||||
val resolvedElement = reference.resolve()
|
val resolvedElement = reference.resolve() ?: return null
|
||||||
if (resolvedElement == null) {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
if (isAndroidSyntheticElement(resolvedElement)) {
|
if (isAndroidSyntheticElement(resolvedElement)) {
|
||||||
if (element is ValueResourceElementWrapper) {
|
if (element is ValueResourceElementWrapper) {
|
||||||
val resource = element.getValue()
|
val resource = element.getValue()
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ public class IDEAndroidExternalDeclarationsProvider(private val project: Project
|
|||||||
if (moduleInfo !is ModuleSourceInfo) return listOf()
|
if (moduleInfo !is ModuleSourceInfo) return listOf()
|
||||||
|
|
||||||
val module = moduleInfo.module
|
val module = moduleInfo.module
|
||||||
val parser = ModuleServiceManager.getService<AndroidUIXmlProcessor>(module, javaClass<AndroidUIXmlProcessor>())
|
val parser = ModuleServiceManager.getService(module, javaClass<AndroidUIXmlProcessor>())
|
||||||
val syntheticFiles = parser.parseToPsi()
|
val syntheticFiles = parser.parseToPsi()
|
||||||
syntheticFiles?.forEach { it.moduleInfo = moduleInfo }
|
syntheticFiles?.forEach { it.moduleInfo = moduleInfo }
|
||||||
|
|
||||||
|
|||||||
+1
@@ -34,6 +34,7 @@ public abstract class AbstractAndroidCompletionTest : KotlinAndroidTestCase() {
|
|||||||
codeCompletionOldValue = settings.AUTOCOMPLETE_ON_CODE_COMPLETION
|
codeCompletionOldValue = settings.AUTOCOMPLETE_ON_CODE_COMPLETION
|
||||||
smartTypeCompletionOldValue = settings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION
|
smartTypeCompletionOldValue = settings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION
|
||||||
|
|
||||||
|
@suppress("NON_EXHAUSTIVE_WHEN")
|
||||||
when (completionType()) {
|
when (completionType()) {
|
||||||
CompletionType.SMART -> settings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION = false
|
CompletionType.SMART -> settings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION = false
|
||||||
CompletionType.BASIC -> settings.AUTOCOMPLETE_ON_CODE_COMPLETION = false
|
CompletionType.BASIC -> settings.AUTOCOMPLETE_ON_CODE_COMPLETION = false
|
||||||
|
|||||||
+2
-2
@@ -37,8 +37,8 @@ public abstract class AbstractAndroidRenameTest : KotlinAndroidTestCase() {
|
|||||||
val editor = f.getEditor()
|
val editor = f.getEditor()
|
||||||
val file = f.getFile()
|
val file = f.getFile()
|
||||||
val completionEditor = InjectedLanguageUtil.getEditorForInjectedLanguageNoCommit(editor, file)
|
val completionEditor = InjectedLanguageUtil.getEditorForInjectedLanguageNoCommit(editor, file)
|
||||||
val element = TargetElementUtilBase.findTargetElement(completionEditor,
|
val element = TargetElementUtilBase.findTargetElement(
|
||||||
TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED or TargetElementUtilBase.ELEMENT_NAME_ACCEPTED)
|
completionEditor, TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED or TargetElementUtilBase.ELEMENT_NAME_ACCEPTED)
|
||||||
|
|
||||||
assert(element != null)
|
assert(element != null)
|
||||||
assertTrue(element is JetProperty)
|
assertTrue(element is JetProperty)
|
||||||
|
|||||||
@@ -72,15 +72,13 @@ public class KotlinAndroidJpsPlugin : KotlinJpsCompilerArgumentsProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun getAndroidResPath(module: JpsModule): String? {
|
private fun getAndroidResPath(module: JpsModule): String? {
|
||||||
val extension = AndroidJpsUtil.getExtension(module)
|
val extension = AndroidJpsUtil.getExtension(module) ?: return null
|
||||||
if (extension == null) return null
|
|
||||||
val path = AndroidJpsUtil.getResourceDirForCompilationPath(extension)
|
val path = AndroidJpsUtil.getResourceDirForCompilationPath(extension)
|
||||||
return File(path!!.getAbsolutePath() + "/layout").getAbsolutePath()
|
return File(path!!.getAbsolutePath() + "/layout").getAbsolutePath()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getAndroidManifest(module: JpsModule): String? {
|
private fun getAndroidManifest(module: JpsModule): String? {
|
||||||
val extension = AndroidJpsUtil.getExtension(module)
|
val extension = AndroidJpsUtil.getExtension(module) ?: return null
|
||||||
if (extension == null) return null
|
|
||||||
return AndroidJpsUtil.getManifestFileForCompilationPath(extension)!!.getAbsolutePath()
|
return AndroidJpsUtil.getManifestFileForCompilationPath(extension)!!.getAbsolutePath()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-4
@@ -44,7 +44,7 @@ public abstract class AbstractAndroidJpsTestCase : JpsBuildTestCase() {
|
|||||||
|
|
||||||
public fun deleteDirectory(path: File): Boolean {
|
public fun deleteDirectory(path: File): Boolean {
|
||||||
if (path.exists() && path.isDirectory()) {
|
if (path.exists() && path.isDirectory()) {
|
||||||
val files = path.listFiles()!!
|
val files = path.listFiles()
|
||||||
for (i in files.indices) {
|
for (i in files.indices) {
|
||||||
if (files[i].isDirectory()) {
|
if (files[i].isDirectory()) {
|
||||||
deleteDirectory(files[i])
|
deleteDirectory(files[i])
|
||||||
@@ -62,9 +62,8 @@ public abstract class AbstractAndroidJpsTestCase : JpsBuildTestCase() {
|
|||||||
addJdk(jdkName)
|
addJdk(jdkName)
|
||||||
val properties = JpsAndroidSdkProperties("android-21", jdkName)
|
val properties = JpsAndroidSdkProperties("android-21", jdkName)
|
||||||
val sdkPath = getHomePath() + "/../dependencies/androidSDK"
|
val sdkPath = getHomePath() + "/../dependencies/androidSDK"
|
||||||
val library = myModel!!.getGlobal().addSdk<JpsSimpleElement<JpsAndroidSdkProperties>>(SDK_NAME, sdkPath, "",
|
val library = myModel.getGlobal().addSdk(SDK_NAME, sdkPath, "", JpsAndroidSdkType.INSTANCE, JpsSimpleElementImpl(properties))
|
||||||
JpsAndroidSdkType.INSTANCE, JpsSimpleElementImpl(properties))
|
library.addRoot(File(sdkPath + "/platforms/android-21/android.jar"), JpsOrderRootType.COMPILED)
|
||||||
library!!.addRoot(File(sdkPath + "/platforms/android-21/android.jar"), JpsOrderRootType.COMPILED)
|
|
||||||
return library.getProperties()
|
return library.getProperties()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user