Support multi-module configuration in Android plugin

This commit is contained in:
Yan Zhulanow
2014-12-29 14:58:05 +03:00
parent 438d2ee5fa
commit 4f9aba2cdc
48 changed files with 150 additions and 69 deletions
@@ -17,6 +17,7 @@
package org.jetbrains.jet.extensions
import org.jetbrains.jet.lang.psi.JetFile
import org.jetbrains.jet.analyzer.ModuleInfo
public trait ExternalDeclarationsProvider {
class object : ProjectExtensionDescriptor<ExternalDeclarationsProvider>(
@@ -24,5 +25,5 @@ public trait ExternalDeclarationsProvider {
javaClass<ExternalDeclarationsProvider>()
)
public fun getExternalDeclarations(): Collection<JetFile>
public fun getExternalDeclarations(moduleInfo: ModuleInfo?): Collection<JetFile>
}
@@ -32,12 +32,14 @@ import java.io.StringWriter
import com.intellij.openapi.application.ApplicationManager
import com.intellij.psi.PsiComment
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.jet.analyzer.ModuleInfo
public fun JetPsiFactory(project: Project?): JetPsiFactory = JetPsiFactory(project!!)
public fun JetPsiFactory(contextElement: JetElement): JetPsiFactory = JetPsiFactory(contextElement.getProject())
public var JetFile.doNotAnalyze: String? by UserDataProperty(Key.create("DO_NOT_ANALYZE"))
public var JetFile.analysisContext: PsiElement? by UserDataProperty(Key.create("ANALYSIS_CONTEXT"))
public var JetFile.moduleInfo: ModuleInfo? by UserDataProperty(Key.create("MODULE_INFO"))
public class JetPsiFactory(private val project: Project) {