Remove dependency of module 'java-model-wrappers' on 'annotation-processing'
This breaks the circular dependency between them
This commit is contained in:
+5
-2
@@ -19,7 +19,8 @@ package org.jetbrains.kotlin.annotation.processing.impl
|
|||||||
import com.intellij.openapi.Disposable
|
import com.intellij.openapi.Disposable
|
||||||
import com.intellij.psi.*
|
import com.intellij.psi.*
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import com.intellij.psi.util.*
|
import com.intellij.psi.util.PsiSuperMethodUtil
|
||||||
|
import com.intellij.psi.util.TypeConversionUtil
|
||||||
import org.jetbrains.kotlin.java.model.JeAnnotationOwner
|
import org.jetbrains.kotlin.java.model.JeAnnotationOwner
|
||||||
import org.jetbrains.kotlin.java.model.JeElement
|
import org.jetbrains.kotlin.java.model.JeElement
|
||||||
import org.jetbrains.kotlin.java.model.JeName
|
import org.jetbrains.kotlin.java.model.JeName
|
||||||
@@ -28,6 +29,8 @@ import org.jetbrains.kotlin.java.model.elements.JeMethodExecutableElement
|
|||||||
import org.jetbrains.kotlin.java.model.elements.JePackageElement
|
import org.jetbrains.kotlin.java.model.elements.JePackageElement
|
||||||
import org.jetbrains.kotlin.java.model.elements.JeTypeElement
|
import org.jetbrains.kotlin.java.model.elements.JeTypeElement
|
||||||
import org.jetbrains.kotlin.java.model.internal.getTypeWithTypeParameters
|
import org.jetbrains.kotlin.java.model.internal.getTypeWithTypeParameters
|
||||||
|
import org.jetbrains.kotlin.java.model.util.disposeAll
|
||||||
|
import org.jetbrains.kotlin.java.model.util.toDisposable
|
||||||
import java.io.PrintWriter
|
import java.io.PrintWriter
|
||||||
import java.io.Writer
|
import java.io.Writer
|
||||||
import javax.lang.model.element.*
|
import javax.lang.model.element.*
|
||||||
@@ -40,7 +43,7 @@ class KotlinElements(
|
|||||||
internal val javaPsiFacade = javaPsiFacade.toDisposable()
|
internal val javaPsiFacade = javaPsiFacade.toDisposable()
|
||||||
internal val scope = scope.toDisposable()
|
internal val scope = scope.toDisposable()
|
||||||
|
|
||||||
override fun dispose() = dispose(javaPsiFacade, scope)
|
override fun dispose() = disposeAll(javaPsiFacade, scope)
|
||||||
|
|
||||||
override fun hides(hider: Element, hidden: Element): Boolean {
|
override fun hides(hider: Element, hidden: Element): Boolean {
|
||||||
val hiderMethod = (hider as? JeMethodExecutableElement)?.psi ?: return false
|
val hiderMethod = (hider as? JeMethodExecutableElement)?.psi ?: return false
|
||||||
|
|||||||
+5
-3
@@ -23,6 +23,8 @@ import com.intellij.psi.JavaPsiFacade
|
|||||||
import com.intellij.psi.PsiManager
|
import com.intellij.psi.PsiManager
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import org.jetbrains.kotlin.java.model.internal.JeElementRegistry
|
import org.jetbrains.kotlin.java.model.internal.JeElementRegistry
|
||||||
|
import org.jetbrains.kotlin.java.model.util.disposeAll
|
||||||
|
import org.jetbrains.kotlin.java.model.util.toDisposable
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@@ -66,9 +68,9 @@ class KotlinProcessingEnvironment(
|
|||||||
types().dispose()
|
types().dispose()
|
||||||
elements().dispose()
|
elements().dispose()
|
||||||
registry().dispose()
|
registry().dispose()
|
||||||
dispose(elements, types, messager, filer, processors,
|
disposeAll(elements, types, messager, filer, processors,
|
||||||
project, psiManager, javaPsiFacade, projectScope, bindingContext,
|
project, psiManager, javaPsiFacade, projectScope, bindingContext,
|
||||||
appendJavaSourceRootsHandler, options)
|
appendJavaSourceRootsHandler, options)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getElementUtils() = elements()
|
override fun getElementUtils() = elements()
|
||||||
|
|||||||
+3
-1
@@ -19,6 +19,8 @@ package org.jetbrains.kotlin.annotation.processing.impl
|
|||||||
import com.intellij.openapi.Disposable
|
import com.intellij.openapi.Disposable
|
||||||
import org.jetbrains.kotlin.annotation.processing.RoundAnnotations
|
import org.jetbrains.kotlin.annotation.processing.RoundAnnotations
|
||||||
import org.jetbrains.kotlin.java.model.toJeElement
|
import org.jetbrains.kotlin.java.model.toJeElement
|
||||||
|
import org.jetbrains.kotlin.java.model.util.disposeAll
|
||||||
|
import org.jetbrains.kotlin.java.model.util.toDisposable
|
||||||
import javax.annotation.processing.RoundEnvironment
|
import javax.annotation.processing.RoundEnvironment
|
||||||
import javax.lang.model.element.Element
|
import javax.lang.model.element.Element
|
||||||
import javax.lang.model.element.TypeElement
|
import javax.lang.model.element.TypeElement
|
||||||
@@ -30,7 +32,7 @@ internal class KotlinRoundEnvironment(
|
|||||||
) : RoundEnvironment, Disposable {
|
) : RoundEnvironment, Disposable {
|
||||||
val roundAnnotations = roundAnnotations.toDisposable()
|
val roundAnnotations = roundAnnotations.toDisposable()
|
||||||
|
|
||||||
override fun dispose() = dispose(roundAnnotations)
|
override fun dispose() = disposeAll(roundAnnotations)
|
||||||
|
|
||||||
private var isError = false
|
private var isError = false
|
||||||
|
|
||||||
|
|||||||
+6
-2
@@ -19,10 +19,14 @@ package org.jetbrains.kotlin.annotation.processing.impl
|
|||||||
import com.intellij.openapi.Disposable
|
import com.intellij.openapi.Disposable
|
||||||
import com.intellij.psi.*
|
import com.intellij.psi.*
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import com.intellij.psi.util.*
|
import com.intellij.psi.util.MethodSignatureUtil
|
||||||
|
import com.intellij.psi.util.PsiTypesUtil
|
||||||
|
import com.intellij.psi.util.TypeConversionUtil
|
||||||
import org.jetbrains.kotlin.java.model.JeElement
|
import org.jetbrains.kotlin.java.model.JeElement
|
||||||
import org.jetbrains.kotlin.java.model.elements.*
|
import org.jetbrains.kotlin.java.model.elements.*
|
||||||
import org.jetbrains.kotlin.java.model.types.*
|
import org.jetbrains.kotlin.java.model.types.*
|
||||||
|
import org.jetbrains.kotlin.java.model.util.disposeAll
|
||||||
|
import org.jetbrains.kotlin.java.model.util.toDisposable
|
||||||
import javax.lang.model.element.Element
|
import javax.lang.model.element.Element
|
||||||
import javax.lang.model.element.TypeElement
|
import javax.lang.model.element.TypeElement
|
||||||
import javax.lang.model.type.*
|
import javax.lang.model.type.*
|
||||||
@@ -37,7 +41,7 @@ class KotlinTypes(
|
|||||||
val psiManager = psiManager.toDisposable()
|
val psiManager = psiManager.toDisposable()
|
||||||
val scope = scope.toDisposable()
|
val scope = scope.toDisposable()
|
||||||
|
|
||||||
override fun dispose() = dispose(javaPsiFacade, psiManager, scope)
|
override fun dispose() = disposeAll(javaPsiFacade, psiManager, scope)
|
||||||
|
|
||||||
override fun contains(containing: TypeMirror, contained: TypeMirror): Boolean {
|
override fun contains(containing: TypeMirror, contained: TypeMirror): Boolean {
|
||||||
assertKindNot(containing, TypeKind.PACKAGE, TypeKind.EXECUTABLE)
|
assertKindNot(containing, TypeKind.PACKAGE, TypeKind.EXECUTABLE)
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="module" module-name="light-classes" />
|
<orderEntry type="module" module-name="light-classes" />
|
||||||
<orderEntry type="module" module-name="frontend" />
|
<orderEntry type="module" module-name="frontend" />
|
||||||
<orderEntry type="module" module-name="annotation-processing" />
|
|
||||||
<orderEntry type="library" name="kotlin-runtime" level="project" />
|
<orderEntry type="library" name="kotlin-runtime" level="project" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
@@ -20,8 +20,8 @@ import com.intellij.openapi.Disposable
|
|||||||
import com.intellij.openapi.components.ServiceManager
|
import com.intellij.openapi.components.ServiceManager
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiManager
|
import com.intellij.psi.PsiManager
|
||||||
import org.jetbrains.kotlin.annotation.processing.impl.toDisposable
|
|
||||||
import org.jetbrains.kotlin.java.model.internal.JeElementRegistry
|
import org.jetbrains.kotlin.java.model.internal.JeElementRegistry
|
||||||
|
import org.jetbrains.kotlin.java.model.util.toDisposable
|
||||||
import javax.lang.model.element.Element
|
import javax.lang.model.element.Element
|
||||||
|
|
||||||
interface JePsiElementOwner {
|
interface JePsiElementOwner {
|
||||||
|
|||||||
+5
-2
@@ -17,14 +17,17 @@
|
|||||||
package org.jetbrains.kotlin.java.model.types
|
package org.jetbrains.kotlin.java.model.types
|
||||||
|
|
||||||
import com.intellij.pom.java.LanguageLevel
|
import com.intellij.pom.java.LanguageLevel
|
||||||
import com.intellij.psi.*
|
import com.intellij.psi.PsiClass
|
||||||
|
import com.intellij.psi.PsiClassType
|
||||||
|
import com.intellij.psi.PsiManager
|
||||||
|
import com.intellij.psi.PsiType
|
||||||
import com.intellij.psi.impl.PsiSubstitutorImpl
|
import com.intellij.psi.impl.PsiSubstitutorImpl
|
||||||
import com.intellij.psi.impl.source.PsiClassReferenceType
|
import com.intellij.psi.impl.source.PsiClassReferenceType
|
||||||
import com.intellij.psi.impl.source.PsiImmediateClassType
|
import com.intellij.psi.impl.source.PsiImmediateClassType
|
||||||
import org.jetbrains.kotlin.annotation.processing.impl.toDisposable
|
|
||||||
import org.jetbrains.kotlin.java.model.elements.JeTypeElement
|
import org.jetbrains.kotlin.java.model.elements.JeTypeElement
|
||||||
import org.jetbrains.kotlin.java.model.internal.getTypeWithTypeParameters
|
import org.jetbrains.kotlin.java.model.internal.getTypeWithTypeParameters
|
||||||
import org.jetbrains.kotlin.java.model.internal.isStatic
|
import org.jetbrains.kotlin.java.model.internal.isStatic
|
||||||
|
import org.jetbrains.kotlin.java.model.util.toDisposable
|
||||||
import javax.lang.model.type.DeclaredType
|
import javax.lang.model.type.DeclaredType
|
||||||
import javax.lang.model.type.TypeKind
|
import javax.lang.model.type.TypeKind
|
||||||
import javax.lang.model.type.TypeMirror
|
import javax.lang.model.type.TypeMirror
|
||||||
|
|||||||
+3
-4
@@ -16,15 +16,14 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.java.model.types
|
package org.jetbrains.kotlin.java.model.types
|
||||||
|
|
||||||
import com.intellij.psi.PsiManager
|
|
||||||
import com.intellij.psi.PsiMethod
|
import com.intellij.psi.PsiMethod
|
||||||
import com.intellij.psi.PsiType
|
import com.intellij.psi.PsiType
|
||||||
import com.intellij.psi.util.MethodSignature
|
import com.intellij.psi.util.MethodSignature
|
||||||
import com.intellij.psi.util.PsiTypesUtil
|
import com.intellij.psi.util.PsiTypesUtil
|
||||||
import org.jetbrains.kotlin.annotation.processing.impl.toDisposable
|
|
||||||
import org.jetbrains.kotlin.annotation.processing.impl.dispose
|
|
||||||
import org.jetbrains.kotlin.java.model.JeDisposablePsiElementOwner
|
import org.jetbrains.kotlin.java.model.JeDisposablePsiElementOwner
|
||||||
import org.jetbrains.kotlin.java.model.elements.getReceiverTypeMirror
|
import org.jetbrains.kotlin.java.model.elements.getReceiverTypeMirror
|
||||||
|
import org.jetbrains.kotlin.java.model.util.disposeAll
|
||||||
|
import org.jetbrains.kotlin.java.model.util.toDisposable
|
||||||
import javax.lang.model.type.ExecutableType
|
import javax.lang.model.type.ExecutableType
|
||||||
import javax.lang.model.type.TypeKind
|
import javax.lang.model.type.TypeKind
|
||||||
import javax.lang.model.type.TypeMirror
|
import javax.lang.model.type.TypeMirror
|
||||||
@@ -48,7 +47,7 @@ class JeMethodExecutableTypeMirror(
|
|||||||
// JeElementRegistry registration is done in JeDisposablePsiElementOwner
|
// JeElementRegistry registration is done in JeDisposablePsiElementOwner
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
super.dispose()
|
super.dispose()
|
||||||
dispose(disposableSignature, disposableReturnType)
|
disposeAll(disposableSignature, disposableReturnType)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getKind() = TypeKind.EXECUTABLE
|
override fun getKind() = TypeKind.EXECUTABLE
|
||||||
|
|||||||
@@ -20,9 +20,9 @@ import com.intellij.openapi.Disposable
|
|||||||
import com.intellij.openapi.components.ServiceManager
|
import com.intellij.openapi.components.ServiceManager
|
||||||
import com.intellij.psi.PsiManager
|
import com.intellij.psi.PsiManager
|
||||||
import com.intellij.psi.PsiType
|
import com.intellij.psi.PsiType
|
||||||
import org.jetbrains.kotlin.annotation.processing.impl.toDisposable
|
|
||||||
import org.jetbrains.kotlin.java.model.internal.JeElementRegistry
|
import org.jetbrains.kotlin.java.model.internal.JeElementRegistry
|
||||||
import org.jetbrains.kotlin.annotation.processing.impl.dispose
|
import org.jetbrains.kotlin.java.model.util.disposeAll
|
||||||
|
import org.jetbrains.kotlin.java.model.util.toDisposable
|
||||||
|
|
||||||
interface JePsiType : JeTypeMirror {
|
interface JePsiType : JeTypeMirror {
|
||||||
val psiType: PsiType
|
val psiType: PsiType
|
||||||
@@ -39,7 +39,7 @@ abstract class JePsiTypeBase<out T : PsiType>(
|
|||||||
ServiceManager.getService(manager.project, JeElementRegistry::class.java).register(this)
|
ServiceManager.getService(manager.project, JeElementRegistry::class.java).register(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun dispose() = dispose(disposableManager, disposableType)
|
override fun dispose() = disposeAll(disposableManager, disposableType)
|
||||||
|
|
||||||
override val psiManager: PsiManager
|
override val psiManager: PsiManager
|
||||||
get() = disposableManager()
|
get() = disposableManager()
|
||||||
|
|||||||
+5
-2
@@ -16,10 +16,13 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.java.model.types
|
package org.jetbrains.kotlin.java.model.types
|
||||||
|
|
||||||
|
import com.intellij.psi.PsiClassType
|
||||||
|
import com.intellij.psi.PsiIntersectionType
|
||||||
|
import com.intellij.psi.PsiManager
|
||||||
|
import com.intellij.psi.PsiTypeParameter
|
||||||
import org.jetbrains.kotlin.java.model.elements.JeTypeParameterElement
|
import org.jetbrains.kotlin.java.model.elements.JeTypeParameterElement
|
||||||
import com.intellij.psi.*
|
|
||||||
import org.jetbrains.kotlin.annotation.processing.impl.toDisposable
|
|
||||||
import org.jetbrains.kotlin.java.model.toJeElement
|
import org.jetbrains.kotlin.java.model.toJeElement
|
||||||
|
import org.jetbrains.kotlin.java.model.util.toDisposable
|
||||||
import javax.lang.model.type.TypeKind
|
import javax.lang.model.type.TypeKind
|
||||||
import javax.lang.model.type.TypeMirror
|
import javax.lang.model.type.TypeMirror
|
||||||
import javax.lang.model.type.TypeVariable
|
import javax.lang.model.type.TypeVariable
|
||||||
|
|||||||
+4
-4
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2016 JetBrains s.r.o.
|
* Copyright 2010-2017 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.jetbrains.kotlin.annotation.processing.impl
|
package org.jetbrains.kotlin.java.model.util
|
||||||
|
|
||||||
import com.intellij.openapi.Disposable
|
import com.intellij.openapi.Disposable
|
||||||
|
|
||||||
@@ -31,6 +31,6 @@ class DisposableRef<out T : Any>(initialValue: T): Disposable {
|
|||||||
|
|
||||||
fun <T : Any> T.toDisposable() = DisposableRef(this)
|
fun <T : Any> T.toDisposable() = DisposableRef(this)
|
||||||
|
|
||||||
fun dispose(vararg refs: DisposableRef<*>?) {
|
fun disposeAll(vararg refs: DisposableRef<*>?) {
|
||||||
refs.forEach { it?.dispose() }
|
refs.forEach { it?.dispose() }
|
||||||
}
|
}
|
||||||
+1
-1
@@ -17,11 +17,11 @@
|
|||||||
package org.jetbrains.kotlin.annotation.processing.test.processor
|
package org.jetbrains.kotlin.annotation.processing.test.processor
|
||||||
|
|
||||||
import org.intellij.lang.annotations.Language
|
import org.intellij.lang.annotations.Language
|
||||||
import org.jetbrains.kotlin.annotation.processing.impl.DisposableRef
|
|
||||||
import org.jetbrains.kotlin.annotation.processing.impl.KotlinProcessingEnvironment
|
import org.jetbrains.kotlin.annotation.processing.impl.KotlinProcessingEnvironment
|
||||||
import org.jetbrains.kotlin.java.model.elements.*
|
import org.jetbrains.kotlin.java.model.elements.*
|
||||||
import org.jetbrains.kotlin.java.model.types.JeDeclaredType
|
import org.jetbrains.kotlin.java.model.types.JeDeclaredType
|
||||||
import org.jetbrains.kotlin.java.model.types.JeMethodExecutableTypeMirror
|
import org.jetbrains.kotlin.java.model.types.JeMethodExecutableTypeMirror
|
||||||
|
import org.jetbrains.kotlin.java.model.util.DisposableRef
|
||||||
import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension
|
import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
||||||
import javax.annotation.processing.ProcessingEnvironment
|
import javax.annotation.processing.ProcessingEnvironment
|
||||||
|
|||||||
Reference in New Issue
Block a user