Add serializer for compile-time constant initializer
This commit is contained in:
@@ -35,6 +35,7 @@ import org.jetbrains.jet.lang.resolve.kotlin.DeserializedDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DescriptorDeserializers;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.AnnotationDescriptorDeserializer;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DescriptorDeserializersStorage;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.ConstantDescriptorDeserializer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import javax.annotation.PreDestroy;
|
||||
|
||||
@@ -61,6 +62,7 @@ public class InjectorForJavaDescriptorResolver {
|
||||
private final DescriptorDeserializers descriptorDeserializers;
|
||||
private final AnnotationDescriptorDeserializer annotationDescriptorDeserializer;
|
||||
private final DescriptorDeserializersStorage descriptorDeserializersStorage;
|
||||
private final ConstantDescriptorDeserializer constantDescriptorDeserializer;
|
||||
|
||||
public InjectorForJavaDescriptorResolver(
|
||||
@NotNull Project project,
|
||||
@@ -85,6 +87,7 @@ public class InjectorForJavaDescriptorResolver {
|
||||
this.descriptorDeserializers = new DescriptorDeserializers();
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer();
|
||||
this.descriptorDeserializersStorage = new DescriptorDeserializersStorage(lockBasedStorageManager);
|
||||
this.constantDescriptorDeserializer = new ConstantDescriptorDeserializer();
|
||||
|
||||
this.javaClassFinder.setProject(project);
|
||||
|
||||
@@ -105,6 +108,7 @@ public class InjectorForJavaDescriptorResolver {
|
||||
deserializedDescriptorResolver.setStorageManager(lockBasedStorageManager);
|
||||
|
||||
descriptorDeserializers.setAnnotationDescriptorDeserializer(annotationDescriptorDeserializer);
|
||||
descriptorDeserializers.setConstantDescriptorDeserializer(constantDescriptorDeserializer);
|
||||
|
||||
annotationDescriptorDeserializer.setClassResolver(javaDescriptorResolver);
|
||||
annotationDescriptorDeserializer.setErrorReporter(traceBasedErrorReporter);
|
||||
@@ -114,6 +118,11 @@ public class InjectorForJavaDescriptorResolver {
|
||||
descriptorDeserializersStorage.setClassResolver(javaDescriptorResolver);
|
||||
descriptorDeserializersStorage.setErrorReporter(traceBasedErrorReporter);
|
||||
|
||||
constantDescriptorDeserializer.setClassResolver(javaDescriptorResolver);
|
||||
constantDescriptorDeserializer.setErrorReporter(traceBasedErrorReporter);
|
||||
constantDescriptorDeserializer.setKotlinClassFinder(virtualFileFinder);
|
||||
constantDescriptorDeserializer.setStorage(descriptorDeserializersStorage);
|
||||
|
||||
javaClassFinder.initialize();
|
||||
|
||||
}
|
||||
|
||||
@@ -55,6 +55,7 @@ import org.jetbrains.jet.lang.resolve.kotlin.DeserializedDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DescriptorDeserializers;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.AnnotationDescriptorDeserializer;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DescriptorDeserializersStorage;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.ConstantDescriptorDeserializer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import javax.annotation.PreDestroy;
|
||||
|
||||
@@ -101,6 +102,7 @@ public class InjectorForLazyResolveWithJava {
|
||||
private final DescriptorDeserializers descriptorDeserializers;
|
||||
private final AnnotationDescriptorDeserializer annotationDescriptorDeserializer;
|
||||
private final DescriptorDeserializersStorage descriptorDeserializersStorage;
|
||||
private final ConstantDescriptorDeserializer constantDescriptorDeserializer;
|
||||
|
||||
public InjectorForLazyResolveWithJava(
|
||||
@NotNull Project project,
|
||||
@@ -147,6 +149,7 @@ public class InjectorForLazyResolveWithJava {
|
||||
this.descriptorDeserializers = new DescriptorDeserializers();
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer();
|
||||
this.descriptorDeserializersStorage = new DescriptorDeserializersStorage(lockBasedStorageManager);
|
||||
this.constantDescriptorDeserializer = new ConstantDescriptorDeserializer();
|
||||
|
||||
this.resolveSession.setAnnotationResolve(annotationResolver);
|
||||
this.resolveSession.setDescriptorResolver(descriptorResolver);
|
||||
@@ -224,6 +227,7 @@ public class InjectorForLazyResolveWithJava {
|
||||
deserializedDescriptorResolver.setStorageManager(lockBasedStorageManager);
|
||||
|
||||
descriptorDeserializers.setAnnotationDescriptorDeserializer(annotationDescriptorDeserializer);
|
||||
descriptorDeserializers.setConstantDescriptorDeserializer(constantDescriptorDeserializer);
|
||||
|
||||
annotationDescriptorDeserializer.setClassResolver(javaDescriptorResolver);
|
||||
annotationDescriptorDeserializer.setErrorReporter(traceBasedErrorReporter);
|
||||
@@ -233,6 +237,11 @@ public class InjectorForLazyResolveWithJava {
|
||||
descriptorDeserializersStorage.setClassResolver(javaDescriptorResolver);
|
||||
descriptorDeserializersStorage.setErrorReporter(traceBasedErrorReporter);
|
||||
|
||||
constantDescriptorDeserializer.setClassResolver(javaDescriptorResolver);
|
||||
constantDescriptorDeserializer.setErrorReporter(traceBasedErrorReporter);
|
||||
constantDescriptorDeserializer.setKotlinClassFinder(virtualFileFinder);
|
||||
constantDescriptorDeserializer.setStorage(descriptorDeserializersStorage);
|
||||
|
||||
javaClassFinder.initialize();
|
||||
|
||||
}
|
||||
|
||||
@@ -65,6 +65,7 @@ import org.jetbrains.jet.lang.resolve.kotlin.DeserializedDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DescriptorDeserializers;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.AnnotationDescriptorDeserializer;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DescriptorDeserializersStorage;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.ConstantDescriptorDeserializer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import javax.annotation.PreDestroy;
|
||||
|
||||
@@ -121,6 +122,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
private final DescriptorDeserializers descriptorDeserializers;
|
||||
private final AnnotationDescriptorDeserializer annotationDescriptorDeserializer;
|
||||
private final DescriptorDeserializersStorage descriptorDeserializersStorage;
|
||||
private final ConstantDescriptorDeserializer constantDescriptorDeserializer;
|
||||
|
||||
public InjectorForTopDownAnalyzerForJvm(
|
||||
@NotNull Project project,
|
||||
@@ -177,6 +179,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.descriptorDeserializers = new DescriptorDeserializers();
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer();
|
||||
this.descriptorDeserializersStorage = new DescriptorDeserializersStorage(storageManager);
|
||||
this.constantDescriptorDeserializer = new ConstantDescriptorDeserializer();
|
||||
|
||||
this.topDownAnalyzer.setBodyResolver(bodyResolver);
|
||||
this.topDownAnalyzer.setDeclarationResolver(declarationResolver);
|
||||
@@ -299,6 +302,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
deserializedDescriptorResolver.setStorageManager(storageManager);
|
||||
|
||||
descriptorDeserializers.setAnnotationDescriptorDeserializer(annotationDescriptorDeserializer);
|
||||
descriptorDeserializers.setConstantDescriptorDeserializer(constantDescriptorDeserializer);
|
||||
|
||||
annotationDescriptorDeserializer.setClassResolver(javaDescriptorResolver);
|
||||
annotationDescriptorDeserializer.setErrorReporter(traceBasedErrorReporter);
|
||||
@@ -308,6 +312,11 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
descriptorDeserializersStorage.setClassResolver(javaDescriptorResolver);
|
||||
descriptorDeserializersStorage.setErrorReporter(traceBasedErrorReporter);
|
||||
|
||||
constantDescriptorDeserializer.setClassResolver(javaDescriptorResolver);
|
||||
constantDescriptorDeserializer.setErrorReporter(traceBasedErrorReporter);
|
||||
constantDescriptorDeserializer.setKotlinClassFinder(virtualFileFinder);
|
||||
constantDescriptorDeserializer.setStorage(descriptorDeserializersStorage);
|
||||
|
||||
javaClassFinder.initialize();
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user