Generate only final fields for injectors - make the access thread-safe

This commit is contained in:
Nikolay Krasko
2013-07-29 14:53:43 +04:00
parent 14247ea2ab
commit 70ae9e589c
11 changed files with 186 additions and 187 deletions
@@ -46,24 +46,24 @@ public class InjectorForJavaDescriptorResolver {
private final Project project;
private final BindingTrace bindingTrace;
private final ModuleDescriptor moduleDescriptor;
private JavaBridgeConfiguration javaBridgeConfiguration;
private JavaSemanticServices javaSemanticServices;
private JavaDescriptorResolver javaDescriptorResolver;
private PsiClassFinderImpl psiClassFinder;
private PsiDeclarationProviderFactory psiDeclarationProviderFactory;
private JavaTypeTransformer javaTypeTransformer;
private JavaClassResolver javaClassResolver;
private JavaAnnotationResolver javaAnnotationResolver;
private JavaCompileTimeConstResolver javaCompileTimeConstResolver;
private JavaClassObjectResolver javaClassObjectResolver;
private JavaSupertypeResolver javaSupertypeResolver;
private JavaFunctionResolver javaFunctionResolver;
private JavaValueParameterResolver javaValueParameterResolver;
private JavaSignatureResolver javaSignatureResolver;
private JavaNamespaceResolver javaNamespaceResolver;
private JavaConstructorResolver javaConstructorResolver;
private JavaInnerClassResolver javaInnerClassResolver;
private JavaPropertyResolver javaPropertyResolver;
private final JavaBridgeConfiguration javaBridgeConfiguration;
private final JavaSemanticServices javaSemanticServices;
private final JavaDescriptorResolver javaDescriptorResolver;
private final PsiClassFinderImpl psiClassFinder;
private final PsiDeclarationProviderFactory psiDeclarationProviderFactory;
private final JavaTypeTransformer javaTypeTransformer;
private final JavaClassResolver javaClassResolver;
private final JavaAnnotationResolver javaAnnotationResolver;
private final JavaCompileTimeConstResolver javaCompileTimeConstResolver;
private final JavaClassObjectResolver javaClassObjectResolver;
private final JavaSupertypeResolver javaSupertypeResolver;
private final JavaFunctionResolver javaFunctionResolver;
private final JavaValueParameterResolver javaValueParameterResolver;
private final JavaSignatureResolver javaSignatureResolver;
private final JavaNamespaceResolver javaNamespaceResolver;
private final JavaConstructorResolver javaConstructorResolver;
private final JavaInnerClassResolver javaInnerClassResolver;
private final JavaPropertyResolver javaPropertyResolver;
public InjectorForJavaDescriptorResolver(
@NotNull Project project,
@@ -43,27 +43,27 @@ import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.generators.injectors.GenerateInjectors. DO NOT EDIT! */
public class InjectorForJavaSemanticServices {
private JavaSemanticServices javaSemanticServices;
private JavaDescriptorResolver javaDescriptorResolver;
private BindingTrace bindingTrace;
private JavaBridgeConfiguration javaBridgeConfiguration;
private PsiClassFinderImpl psiClassFinder;
private ModuleDescriptorImpl moduleDescriptor;
private final JavaSemanticServices javaSemanticServices;
private final JavaDescriptorResolver javaDescriptorResolver;
private final BindingTrace bindingTrace;
private final JavaBridgeConfiguration javaBridgeConfiguration;
private final PsiClassFinderImpl psiClassFinder;
private final ModuleDescriptorImpl moduleDescriptor;
private final Project project;
private PsiDeclarationProviderFactory psiDeclarationProviderFactory;
private JavaTypeTransformer javaTypeTransformer;
private JavaClassResolver javaClassResolver;
private JavaAnnotationResolver javaAnnotationResolver;
private JavaCompileTimeConstResolver javaCompileTimeConstResolver;
private JavaClassObjectResolver javaClassObjectResolver;
private JavaSupertypeResolver javaSupertypeResolver;
private JavaFunctionResolver javaFunctionResolver;
private JavaValueParameterResolver javaValueParameterResolver;
private JavaSignatureResolver javaSignatureResolver;
private JavaNamespaceResolver javaNamespaceResolver;
private JavaConstructorResolver javaConstructorResolver;
private JavaInnerClassResolver javaInnerClassResolver;
private JavaPropertyResolver javaPropertyResolver;
private final PsiDeclarationProviderFactory psiDeclarationProviderFactory;
private final JavaTypeTransformer javaTypeTransformer;
private final JavaClassResolver javaClassResolver;
private final JavaAnnotationResolver javaAnnotationResolver;
private final JavaCompileTimeConstResolver javaCompileTimeConstResolver;
private final JavaClassObjectResolver javaClassObjectResolver;
private final JavaSupertypeResolver javaSupertypeResolver;
private final JavaFunctionResolver javaFunctionResolver;
private final JavaValueParameterResolver javaValueParameterResolver;
private final JavaSignatureResolver javaSignatureResolver;
private final JavaNamespaceResolver javaNamespaceResolver;
private final JavaConstructorResolver javaConstructorResolver;
private final JavaInnerClassResolver javaInnerClassResolver;
private final JavaPropertyResolver javaPropertyResolver;
public InjectorForJavaSemanticServices(
@NotNull Project project
@@ -68,52 +68,52 @@ import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.generators.injectors.GenerateInjectors. DO NOT EDIT! */
public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnalyzer {
private TopDownAnalyzer topDownAnalyzer;
private TopDownAnalysisContext topDownAnalysisContext;
private BodyResolver bodyResolver;
private ControlFlowAnalyzer controlFlowAnalyzer;
private DeclarationsChecker declarationsChecker;
private DescriptorResolver descriptorResolver;
private NeedSyntheticCallResolverExtension needSyntheticCallResolverExtension;
private final TopDownAnalyzer topDownAnalyzer;
private final TopDownAnalysisContext topDownAnalysisContext;
private final BodyResolver bodyResolver;
private final ControlFlowAnalyzer controlFlowAnalyzer;
private final DeclarationsChecker declarationsChecker;
private final DescriptorResolver descriptorResolver;
private final NeedSyntheticCallResolverExtension needSyntheticCallResolverExtension;
private final Project project;
private final TopDownAnalysisParameters topDownAnalysisParameters;
private final BindingTrace bindingTrace;
private final ModuleDescriptorImpl moduleDescriptor;
private JavaBridgeConfiguration javaBridgeConfiguration;
private JavaDescriptorResolver javaDescriptorResolver;
private PsiClassFinderImpl psiClassFinder;
private NamespaceFactoryImpl namespaceFactory;
private DeclarationResolver declarationResolver;
private AnnotationResolver annotationResolver;
private CallResolver callResolver;
private ArgumentTypeResolver argumentTypeResolver;
private ExpressionTypingServices expressionTypingServices;
private CallExpressionResolver callExpressionResolver;
private TypeResolver typeResolver;
private QualifiedExpressionResolver qualifiedExpressionResolver;
private CandidateResolver candidateResolver;
private ImportsResolver importsResolver;
private JetImportsFactory jetImportsFactory;
private ScriptHeaderResolver scriptHeaderResolver;
private OverloadResolver overloadResolver;
private OverrideResolver overrideResolver;
private TypeHierarchyResolver typeHierarchyResolver;
private ScriptBodyResolver scriptBodyResolver;
private JavaSemanticServices javaSemanticServices;
private PsiDeclarationProviderFactory psiDeclarationProviderFactory;
private JavaTypeTransformer javaTypeTransformer;
private JavaClassResolver javaClassResolver;
private JavaAnnotationResolver javaAnnotationResolver;
private JavaCompileTimeConstResolver javaCompileTimeConstResolver;
private JavaClassObjectResolver javaClassObjectResolver;
private JavaSupertypeResolver javaSupertypeResolver;
private JavaFunctionResolver javaFunctionResolver;
private JavaValueParameterResolver javaValueParameterResolver;
private JavaSignatureResolver javaSignatureResolver;
private JavaNamespaceResolver javaNamespaceResolver;
private JavaConstructorResolver javaConstructorResolver;
private JavaInnerClassResolver javaInnerClassResolver;
private JavaPropertyResolver javaPropertyResolver;
private final JavaBridgeConfiguration javaBridgeConfiguration;
private final JavaDescriptorResolver javaDescriptorResolver;
private final PsiClassFinderImpl psiClassFinder;
private final NamespaceFactoryImpl namespaceFactory;
private final DeclarationResolver declarationResolver;
private final AnnotationResolver annotationResolver;
private final CallResolver callResolver;
private final ArgumentTypeResolver argumentTypeResolver;
private final ExpressionTypingServices expressionTypingServices;
private final CallExpressionResolver callExpressionResolver;
private final TypeResolver typeResolver;
private final QualifiedExpressionResolver qualifiedExpressionResolver;
private final CandidateResolver candidateResolver;
private final ImportsResolver importsResolver;
private final JetImportsFactory jetImportsFactory;
private final ScriptHeaderResolver scriptHeaderResolver;
private final OverloadResolver overloadResolver;
private final OverrideResolver overrideResolver;
private final TypeHierarchyResolver typeHierarchyResolver;
private final ScriptBodyResolver scriptBodyResolver;
private final JavaSemanticServices javaSemanticServices;
private final PsiDeclarationProviderFactory psiDeclarationProviderFactory;
private final JavaTypeTransformer javaTypeTransformer;
private final JavaClassResolver javaClassResolver;
private final JavaAnnotationResolver javaAnnotationResolver;
private final JavaCompileTimeConstResolver javaCompileTimeConstResolver;
private final JavaClassObjectResolver javaClassObjectResolver;
private final JavaSupertypeResolver javaSupertypeResolver;
private final JavaFunctionResolver javaFunctionResolver;
private final JavaValueParameterResolver javaValueParameterResolver;
private final JavaSignatureResolver javaSignatureResolver;
private final JavaNamespaceResolver javaNamespaceResolver;
private final JavaConstructorResolver javaConstructorResolver;
private final JavaInnerClassResolver javaInnerClassResolver;
private final JavaPropertyResolver javaPropertyResolver;
public InjectorForTopDownAnalyzerForJvm(
@NotNull Project project,