001/* 002 * Copyright 2010-2013 JetBrains s.r.o. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 017package org.jetbrains.jet.di; 018 019import com.intellij.openapi.project.Project; 020import org.jetbrains.jet.lang.resolve.BindingTrace; 021import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; 022import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration; 023import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices; 024import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver; 025import org.jetbrains.jet.lang.resolve.java.PsiClassFinderImpl; 026import org.jetbrains.jet.lang.resolve.java.provider.PsiDeclarationProviderFactory; 027import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer; 028import org.jetbrains.jet.lang.resolve.java.resolver.JavaClassResolver; 029import org.jetbrains.jet.lang.resolve.java.resolver.JavaAnnotationResolver; 030import org.jetbrains.jet.lang.resolve.java.resolver.JavaCompileTimeConstResolver; 031import org.jetbrains.jet.lang.resolve.java.resolver.JavaClassObjectResolver; 032import org.jetbrains.jet.lang.resolve.java.resolver.JavaSupertypeResolver; 033import org.jetbrains.jet.lang.resolve.java.resolver.JavaFunctionResolver; 034import org.jetbrains.jet.lang.resolve.java.resolver.JavaValueParameterResolver; 035import org.jetbrains.jet.lang.resolve.java.resolver.JavaSignatureResolver; 036import org.jetbrains.jet.lang.resolve.java.resolver.JavaNamespaceResolver; 037import org.jetbrains.jet.lang.resolve.java.resolver.JavaConstructorResolver; 038import org.jetbrains.jet.lang.resolve.java.resolver.JavaInnerClassResolver; 039import org.jetbrains.jet.lang.resolve.java.resolver.JavaPropertyResolver; 040import org.jetbrains.annotations.NotNull; 041import javax.annotation.PreDestroy; 042 043/* This file is generated by org.jetbrains.jet.generators.injectors.GenerateInjectors. DO NOT EDIT! */ 044public class InjectorForJavaDescriptorResolver { 045 046 private final Project project; 047 private final BindingTrace bindingTrace; 048 private final ModuleDescriptor moduleDescriptor; 049 private JavaBridgeConfiguration javaBridgeConfiguration; 050 private JavaSemanticServices javaSemanticServices; 051 private JavaDescriptorResolver javaDescriptorResolver; 052 private PsiClassFinderImpl psiClassFinder; 053 private PsiDeclarationProviderFactory psiDeclarationProviderFactory; 054 private JavaTypeTransformer javaTypeTransformer; 055 private JavaClassResolver javaClassResolver; 056 private JavaAnnotationResolver javaAnnotationResolver; 057 private JavaCompileTimeConstResolver javaCompileTimeConstResolver; 058 private JavaClassObjectResolver javaClassObjectResolver; 059 private JavaSupertypeResolver javaSupertypeResolver; 060 private JavaFunctionResolver javaFunctionResolver; 061 private JavaValueParameterResolver javaValueParameterResolver; 062 private JavaSignatureResolver javaSignatureResolver; 063 private JavaNamespaceResolver javaNamespaceResolver; 064 private JavaConstructorResolver javaConstructorResolver; 065 private JavaInnerClassResolver javaInnerClassResolver; 066 private JavaPropertyResolver javaPropertyResolver; 067 068 public InjectorForJavaDescriptorResolver( 069 @NotNull Project project, 070 @NotNull BindingTrace bindingTrace, 071 @NotNull ModuleDescriptor moduleDescriptor 072 ) { 073 this.project = project; 074 this.bindingTrace = bindingTrace; 075 this.moduleDescriptor = moduleDescriptor; 076 this.javaBridgeConfiguration = new JavaBridgeConfiguration(); 077 this.javaSemanticServices = new JavaSemanticServices(); 078 this.javaDescriptorResolver = new JavaDescriptorResolver(); 079 this.psiClassFinder = new PsiClassFinderImpl(); 080 this.psiDeclarationProviderFactory = new PsiDeclarationProviderFactory(getPsiClassFinder()); 081 this.javaTypeTransformer = new JavaTypeTransformer(); 082 this.javaClassResolver = new JavaClassResolver(); 083 this.javaAnnotationResolver = new JavaAnnotationResolver(); 084 this.javaCompileTimeConstResolver = new JavaCompileTimeConstResolver(); 085 this.javaClassObjectResolver = new JavaClassObjectResolver(); 086 this.javaSupertypeResolver = new JavaSupertypeResolver(); 087 this.javaFunctionResolver = new JavaFunctionResolver(); 088 this.javaValueParameterResolver = new JavaValueParameterResolver(); 089 this.javaSignatureResolver = new JavaSignatureResolver(); 090 this.javaNamespaceResolver = new JavaNamespaceResolver(); 091 this.javaConstructorResolver = new JavaConstructorResolver(); 092 this.javaInnerClassResolver = new JavaInnerClassResolver(); 093 this.javaPropertyResolver = new JavaPropertyResolver(); 094 095 this.javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices); 096 097 this.javaSemanticServices.setDescriptorResolver(javaDescriptorResolver); 098 this.javaSemanticServices.setPsiClassFinder(psiClassFinder); 099 this.javaSemanticServices.setPsiDeclarationProviderFactory(psiDeclarationProviderFactory); 100 this.javaSemanticServices.setTrace(bindingTrace); 101 this.javaSemanticServices.setTypeTransformer(javaTypeTransformer); 102 103 this.javaDescriptorResolver.setClassResolver(javaClassResolver); 104 this.javaDescriptorResolver.setConstructorResolver(javaConstructorResolver); 105 this.javaDescriptorResolver.setFunctionResolver(javaFunctionResolver); 106 this.javaDescriptorResolver.setInnerClassResolver(javaInnerClassResolver); 107 this.javaDescriptorResolver.setNamespaceResolver(javaNamespaceResolver); 108 this.javaDescriptorResolver.setPropertiesResolver(javaPropertyResolver); 109 110 this.psiClassFinder.setProject(project); 111 112 javaTypeTransformer.setJavaSemanticServices(javaSemanticServices); 113 javaTypeTransformer.setResolver(javaDescriptorResolver); 114 115 javaClassResolver.setAnnotationResolver(javaAnnotationResolver); 116 javaClassResolver.setClassObjectResolver(javaClassObjectResolver); 117 javaClassResolver.setFunctionResolver(javaFunctionResolver); 118 javaClassResolver.setNamespaceResolver(javaNamespaceResolver); 119 javaClassResolver.setPsiClassFinder(psiClassFinder); 120 javaClassResolver.setSemanticServices(javaSemanticServices); 121 javaClassResolver.setSignatureResolver(javaSignatureResolver); 122 javaClassResolver.setSupertypesResolver(javaSupertypeResolver); 123 javaClassResolver.setTrace(bindingTrace); 124 125 javaAnnotationResolver.setClassResolver(javaClassResolver); 126 javaAnnotationResolver.setCompileTimeConstResolver(javaCompileTimeConstResolver); 127 128 javaCompileTimeConstResolver.setAnnotationResolver(javaAnnotationResolver); 129 javaCompileTimeConstResolver.setClassResolver(javaClassResolver); 130 131 javaClassObjectResolver.setSemanticServices(javaSemanticServices); 132 javaClassObjectResolver.setSupertypesResolver(javaSupertypeResolver); 133 javaClassObjectResolver.setTrace(bindingTrace); 134 135 javaSupertypeResolver.setClassResolver(javaClassResolver); 136 javaSupertypeResolver.setSemanticServices(javaSemanticServices); 137 javaSupertypeResolver.setTrace(bindingTrace); 138 javaSupertypeResolver.setTypeTransformer(javaTypeTransformer); 139 140 javaFunctionResolver.setAnnotationResolver(javaAnnotationResolver); 141 javaFunctionResolver.setParameterResolver(javaValueParameterResolver); 142 javaFunctionResolver.setSignatureResolver(javaSignatureResolver); 143 javaFunctionResolver.setTrace(bindingTrace); 144 javaFunctionResolver.setTypeTransformer(javaTypeTransformer); 145 146 javaValueParameterResolver.setTypeTransformer(javaTypeTransformer); 147 148 javaSignatureResolver.setJavaSemanticServices(javaSemanticServices); 149 150 javaNamespaceResolver.setJavaSemanticServices(javaSemanticServices); 151 javaNamespaceResolver.setPsiClassFinder(psiClassFinder); 152 javaNamespaceResolver.setTrace(bindingTrace); 153 154 javaConstructorResolver.setTrace(bindingTrace); 155 javaConstructorResolver.setTypeTransformer(javaTypeTransformer); 156 javaConstructorResolver.setValueParameterResolver(javaValueParameterResolver); 157 158 javaInnerClassResolver.setClassResolver(javaClassResolver); 159 160 javaPropertyResolver.setAnnotationResolver(javaAnnotationResolver); 161 javaPropertyResolver.setJavaSignatureResolver(javaSignatureResolver); 162 javaPropertyResolver.setSemanticServices(javaSemanticServices); 163 javaPropertyResolver.setTrace(bindingTrace); 164 165 psiClassFinder.initialize(); 166 167 } 168 169 @PreDestroy 170 public void destroy() { 171 } 172 173 public Project getProject() { 174 return this.project; 175 } 176 177 public BindingTrace getBindingTrace() { 178 return this.bindingTrace; 179 } 180 181 public ModuleDescriptor getModuleDescriptor() { 182 return this.moduleDescriptor; 183 } 184 185 public JavaBridgeConfiguration getJavaBridgeConfiguration() { 186 return this.javaBridgeConfiguration; 187 } 188 189 public JavaSemanticServices getJavaSemanticServices() { 190 return this.javaSemanticServices; 191 } 192 193 public JavaDescriptorResolver getJavaDescriptorResolver() { 194 return this.javaDescriptorResolver; 195 } 196 197 public PsiClassFinderImpl getPsiClassFinder() { 198 return this.psiClassFinder; 199 } 200 201}