Support reading annotations on java 9 module on sources and binaries
This commit is contained in:
+13
@@ -0,0 +1,13 @@
|
||||
/*
|
||||
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.load.java.lazy
|
||||
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
|
||||
interface JavaModuleAnnotationsProvider {
|
||||
fun getModuleAnnotations(classId: ClassId): List<JavaAnnotation>?
|
||||
}
|
||||
@@ -65,6 +65,7 @@ class JavaResolverComponents(
|
||||
val settings: JavaResolverSettings,
|
||||
val kotlinTypeChecker: NewKotlinTypeChecker,
|
||||
val javaTypeEnhancementState: JavaTypeEnhancementState,
|
||||
val javaModuleResolver: JavaModuleAnnotationsProvider,
|
||||
val syntheticPartsProvider: SyntheticJavaPartsProvider = SyntheticJavaPartsProvider.EMPTY
|
||||
) {
|
||||
fun replace(
|
||||
@@ -75,8 +76,7 @@ class JavaResolverComponents(
|
||||
javaPropertyInitializerEvaluator, samConversionResolver, sourceElementFactory,
|
||||
moduleClassResolver, packagePartProvider, supertypeLoopChecker, lookupTracker, module, reflectionTypes,
|
||||
annotationTypeQualifierResolver, signatureEnhancement, javaClassesTracker, settings,
|
||||
kotlinTypeChecker,
|
||||
javaTypeEnhancementState
|
||||
kotlinTypeChecker, javaTypeEnhancementState, javaModuleResolver
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+6
-1
@@ -31,9 +31,11 @@ import org.jetbrains.kotlin.load.java.components.JavaPropertyInitializerEvaluato
|
||||
import org.jetbrains.kotlin.load.java.components.JavaResolverCache
|
||||
import org.jetbrains.kotlin.load.java.components.SignaturePropagator
|
||||
import org.jetbrains.kotlin.load.java.lazy.*
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaAnnotation
|
||||
import org.jetbrains.kotlin.load.java.typeEnhancement.JavaTypeEnhancement
|
||||
import org.jetbrains.kotlin.load.java.typeEnhancement.SignatureEnhancement
|
||||
import org.jetbrains.kotlin.load.kotlin.*
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver
|
||||
import org.jetbrains.kotlin.resolve.sam.SamConversionResolverImpl
|
||||
@@ -119,7 +121,10 @@ fun makeLazyJavaPackageFragmentFromClassLoaderProvider(
|
||||
singleModuleClassResolver, packagePartProvider, SupertypeLoopChecker.EMPTY, LookupTracker.DO_NOTHING, module,
|
||||
ReflectionTypes(module, notFoundClasses), annotationTypeQualifierResolver,
|
||||
SignatureEnhancement(annotationTypeQualifierResolver, JavaTypeEnhancementState.DISABLED_JSR_305, JavaTypeEnhancement(JavaResolverSettings.Default)),
|
||||
JavaClassesTracker.Default, JavaResolverSettings.Default, NewKotlinTypeChecker.Default, javaTypeEnhancementState
|
||||
JavaClassesTracker.Default, JavaResolverSettings.Default, NewKotlinTypeChecker.Default, javaTypeEnhancementState,
|
||||
object : JavaModuleAnnotationsProvider {
|
||||
override fun getModuleAnnotations(classId: ClassId): List<JavaAnnotation>? = null
|
||||
}
|
||||
)
|
||||
|
||||
return LazyJavaPackageFragmentProvider(javaResolverComponents)
|
||||
|
||||
Reference in New Issue
Block a user