Minor, fix deprecation warnings in android-compiler-plugin
This commit is contained in:
+12
-38
@@ -16,42 +16,16 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.lang.resolve.android
|
package org.jetbrains.kotlin.lang.resolve.android
|
||||||
|
|
||||||
import java.util.ArrayList
|
|
||||||
import java.util.HashMap
|
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue
|
|
||||||
import java.io.File
|
|
||||||
import javax.xml.parsers.SAXParserFactory
|
|
||||||
import java.io.File
|
|
||||||
import java.io.FileInputStream
|
|
||||||
import com.intellij.openapi.project.Project
|
|
||||||
import org.jetbrains.kotlin.psi.JetPsiFactory
|
|
||||||
import org.jetbrains.kotlin.psi.JetFile
|
|
||||||
import javax.xml.parsers.SAXParser
|
|
||||||
import java.util.HashMap
|
|
||||||
import com.intellij.openapi.project.Project
|
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue
|
|
||||||
import com.intellij.testFramework.LightVirtualFile
|
|
||||||
import com.intellij.psi.PsiManager
|
|
||||||
import java.io.FileInputStream
|
|
||||||
import org.xml.sax.helpers.DefaultHandler
|
|
||||||
import org.xml.sax.Attributes
|
|
||||||
import com.intellij.psi.PsiFileFactory
|
|
||||||
import com.intellij.psi.util.PsiModificationTracker
|
|
||||||
import java.util.Queue
|
|
||||||
import com.intellij.psi.PsiFile
|
|
||||||
import com.intellij.openapi.diagnostic.Logger
|
import com.intellij.openapi.diagnostic.Logger
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.project.Project
|
||||||
|
import com.intellij.psi.PsiFile
|
||||||
|
import com.intellij.psi.PsiManager
|
||||||
import com.intellij.psi.util.CachedValue
|
import com.intellij.psi.util.CachedValue
|
||||||
import com.intellij.psi.util.CachedValueProvider
|
import com.intellij.psi.util.CachedValueProvider
|
||||||
import com.intellij.psi.util.CachedValuesManager
|
|
||||||
import com.intellij.psi.util.CachedValueProvider.Result
|
import com.intellij.psi.util.CachedValueProvider.Result
|
||||||
import java.util.concurrent.atomic.AtomicInteger
|
import com.intellij.psi.util.CachedValuesManager
|
||||||
import com.intellij.openapi.roots.ProjectRootModificationTracker
|
import com.intellij.testFramework.LightVirtualFile
|
||||||
import com.intellij.openapi.util.*
|
import org.jetbrains.kotlin.psi.JetFile
|
||||||
import com.intellij.openapi.vfs.impl.*
|
|
||||||
import com.intellij.openapi.vfs.*
|
|
||||||
import kotlin.properties.*
|
|
||||||
import com.intellij.psi.impl.*
|
|
||||||
import org.jetbrains.kotlin.types.Flexibility
|
import org.jetbrains.kotlin.types.Flexibility
|
||||||
|
|
||||||
public class AndroidSyntheticFile(val name: String, val contents: String)
|
public class AndroidSyntheticFile(val name: String, val contents: String)
|
||||||
@@ -69,12 +43,12 @@ public abstract class AndroidUIXmlProcessor(protected val project: Project) {
|
|||||||
//MAKE CONSTANT (or abstract)
|
//MAKE CONSTANT (or abstract)
|
||||||
var supportV4 = false
|
var supportV4 = false
|
||||||
|
|
||||||
private val cachedJetFiles: CachedValue<List<JetFile>> by Delegates.lazy {
|
private val cachedJetFiles: CachedValue<List<JetFile>> by lazy {
|
||||||
cachedValue {
|
cachedValue {
|
||||||
val psiManager = PsiManager.getInstance(project)
|
val psiManager = PsiManager.getInstance(project)
|
||||||
val applicationPackage = resourceManager.androidModuleInfo?.applicationPackage
|
val applicationPackage = resourceManager.androidModuleInfo?.applicationPackage
|
||||||
|
|
||||||
val jetFiles = cachedSources.getValue().mapIndexed { index, syntheticFile ->
|
val jetFiles = cachedSources.value.mapIndexed { index, syntheticFile ->
|
||||||
val fileName = AndroidConst.SYNTHETIC_FILENAME_PREFIX + syntheticFile.name + ".kt"
|
val fileName = AndroidConst.SYNTHETIC_FILENAME_PREFIX + syntheticFile.name + ".kt"
|
||||||
val virtualFile = LightVirtualFile(fileName, syntheticFile.contents)
|
val virtualFile = LightVirtualFile(fileName, syntheticFile.contents)
|
||||||
val jetFile = psiManager.findFile(virtualFile) as JetFile
|
val jetFile = psiManager.findFile(virtualFile) as JetFile
|
||||||
@@ -109,7 +83,7 @@ public abstract class AndroidUIXmlProcessor(protected val project: Project) {
|
|||||||
val files = entry.getValue()
|
val files = entry.getValue()
|
||||||
val resources = parseLayout(files)
|
val resources = parseLayout(files)
|
||||||
|
|
||||||
val layoutName = files[0].getName().substringBefore('.')
|
val layoutName = files[0].name.substringBefore('.')
|
||||||
|
|
||||||
val mainLayoutFile = renderMainLayoutFile(layoutName, resources)
|
val mainLayoutFile = renderMainLayoutFile(layoutName, resources)
|
||||||
val viewLayoutFile = renderViewLayoutFile(layoutName, resources)
|
val viewLayoutFile = renderViewLayoutFile(layoutName, resources)
|
||||||
@@ -118,7 +92,7 @@ public abstract class AndroidUIXmlProcessor(protected val project: Project) {
|
|||||||
}.filterNotNull() + commonFiles
|
}.filterNotNull() + commonFiles
|
||||||
}
|
}
|
||||||
|
|
||||||
public fun parseToPsi(): List<JetFile>? = cachedJetFiles.getValue()
|
public fun parseToPsi(): List<JetFile>? = cachedJetFiles.value
|
||||||
|
|
||||||
protected abstract fun parseLayout(files: List<PsiFile>): List<AndroidResource>
|
protected abstract fun parseLayout(files: List<PsiFile>): List<AndroidResource>
|
||||||
|
|
||||||
@@ -209,8 +183,8 @@ public abstract class AndroidUIXmlProcessor(protected val project: Project) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private val EXPLICIT_FLEXIBLE_PACKAGE = Flexibility.FLEXIBLE_TYPE_CLASSIFIER.getPackageFqName().asString()
|
private val EXPLICIT_FLEXIBLE_PACKAGE = Flexibility.FLEXIBLE_TYPE_CLASSIFIER.packageFqName.asString()
|
||||||
private val EXPLICIT_FLEXIBLE_CLASS_NAME = Flexibility.FLEXIBLE_TYPE_CLASSIFIER.getRelativeClassName().asString()
|
private val EXPLICIT_FLEXIBLE_CLASS_NAME = Flexibility.FLEXIBLE_TYPE_CLASSIFIER.relativeClassName.asString()
|
||||||
|
|
||||||
private val ANDROID_IMPORTS = listOf(
|
private val ANDROID_IMPORTS = listOf(
|
||||||
"android.app.*",
|
"android.app.*",
|
||||||
|
|||||||
+4
-5
@@ -17,13 +17,12 @@
|
|||||||
package org.jetbrains.kotlin.lang.resolve.android
|
package org.jetbrains.kotlin.lang.resolve.android
|
||||||
|
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import org.xml.sax.Attributes
|
||||||
|
import org.xml.sax.helpers.DefaultHandler
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileInputStream
|
import java.io.FileInputStream
|
||||||
import org.xml.sax.helpers.DefaultHandler
|
|
||||||
import org.xml.sax.Attributes
|
|
||||||
import javax.xml.parsers.SAXParser
|
import javax.xml.parsers.SAXParser
|
||||||
import javax.xml.parsers.SAXParserFactory
|
import javax.xml.parsers.SAXParserFactory
|
||||||
import kotlin.properties.Delegates
|
|
||||||
|
|
||||||
public class CliAndroidResourceManager(
|
public class CliAndroidResourceManager(
|
||||||
project: Project,
|
project: Project,
|
||||||
@@ -31,7 +30,7 @@ public class CliAndroidResourceManager(
|
|||||||
private val resDirectories: List<String>
|
private val resDirectories: List<String>
|
||||||
) : AndroidResourceManager(project) {
|
) : AndroidResourceManager(project) {
|
||||||
|
|
||||||
override val androidModuleInfo by Delegates.lazy {
|
override val androidModuleInfo by lazy {
|
||||||
AndroidModuleInfo(getApplicationPackage(manifestPath), resDirectories)
|
AndroidModuleInfo(getApplicationPackage(manifestPath), resDirectories)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,7 +38,7 @@ public class CliAndroidResourceManager(
|
|||||||
|
|
||||||
protected fun initSAX(): SAXParser {
|
protected fun initSAX(): SAXParser {
|
||||||
val saxFactory = SAXParserFactory.newInstance()
|
val saxFactory = SAXParserFactory.newInstance()
|
||||||
saxFactory.setNamespaceAware(true)
|
saxFactory.isNamespaceAware = true
|
||||||
return saxFactory.newSAXParser()
|
return saxFactory.newSAXParser()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+5
-9
@@ -16,16 +16,12 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.lang.resolve.android
|
package org.jetbrains.kotlin.lang.resolve.android
|
||||||
|
|
||||||
import java.util.ArrayList
|
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiFile
|
|
||||||
import java.io.ByteArrayInputStream
|
|
||||||
import kotlin.properties.Delegates
|
|
||||||
import com.intellij.psi.impl.*
|
|
||||||
import com.intellij.openapi.components.*
|
|
||||||
import com.intellij.openapi.util.ModificationTracker
|
import com.intellij.openapi.util.ModificationTracker
|
||||||
|
import com.intellij.psi.PsiFile
|
||||||
import com.intellij.psi.util.CachedValue
|
import com.intellij.psi.util.CachedValue
|
||||||
import com.intellij.psi.util.CachedValueProvider.Result
|
import com.intellij.psi.util.CachedValueProvider.Result
|
||||||
|
import java.io.ByteArrayInputStream
|
||||||
|
|
||||||
public class CliAndroidUIXmlProcessor(
|
public class CliAndroidUIXmlProcessor(
|
||||||
project: Project,
|
project: Project,
|
||||||
@@ -33,11 +29,11 @@ public class CliAndroidUIXmlProcessor(
|
|||||||
private val resDirectories: List<String>
|
private val resDirectories: List<String>
|
||||||
) : AndroidUIXmlProcessor(project) {
|
) : AndroidUIXmlProcessor(project) {
|
||||||
|
|
||||||
override val resourceManager: CliAndroidResourceManager by Delegates.lazy {
|
override val resourceManager: CliAndroidResourceManager by lazy {
|
||||||
CliAndroidResourceManager(project, manifestPath, resDirectories)
|
CliAndroidResourceManager(project, manifestPath, resDirectories)
|
||||||
}
|
}
|
||||||
|
|
||||||
override val cachedSources: CachedValue<List<AndroidSyntheticFile>> by Delegates.lazy {
|
override val cachedSources: CachedValue<List<AndroidSyntheticFile>> by lazy {
|
||||||
cachedValue {
|
cachedValue {
|
||||||
Result.create(parse(), ModificationTracker.NEVER_CHANGED)
|
Result.create(parse(), ModificationTracker.NEVER_CHANGED)
|
||||||
}
|
}
|
||||||
@@ -49,7 +45,7 @@ public class CliAndroidUIXmlProcessor(
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
for (file in files) {
|
for (file in files) {
|
||||||
val inputStream = ByteArrayInputStream(file.getVirtualFile().contentsToByteArray())
|
val inputStream = ByteArrayInputStream(file.virtualFile.contentsToByteArray())
|
||||||
resourceManager.saxParser.parse(inputStream, handler)
|
resourceManager.saxParser.parse(inputStream, handler)
|
||||||
}
|
}
|
||||||
return removeDuplicates(resources)
|
return removeDuplicates(resources)
|
||||||
|
|||||||
Reference in New Issue
Block a user