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 org.jetbrains.jet.lang.resolve.java.JavaSemanticServices; 020import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver; 021import org.jetbrains.jet.lang.resolve.BindingTrace; 022import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration; 023import org.jetbrains.jet.lang.resolve.java.PsiClassFinderImpl; 024import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl; 025import com.intellij.openapi.project.Project; 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 InjectorForJavaSemanticServices { 045 046 private JavaSemanticServices javaSemanticServices; 047 private JavaDescriptorResolver javaDescriptorResolver; 048 private BindingTrace bindingTrace; 049 private JavaBridgeConfiguration javaBridgeConfiguration; 050 private PsiClassFinderImpl psiClassFinder; 051 private ModuleDescriptorImpl moduleDescriptor; 052 private final Project project; 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 InjectorForJavaSemanticServices( 069 @NotNull Project project 070 ) { 071 this.javaSemanticServices = new JavaSemanticServices(); 072 this.javaDescriptorResolver = new JavaDescriptorResolver(); 073 this.bindingTrace = new org.jetbrains.jet.lang.resolve.BindingTraceContext(); 074 this.javaBridgeConfiguration = new JavaBridgeConfiguration(); 075 this.psiClassFinder = new PsiClassFinderImpl(); 076 this.moduleDescriptor = new org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl(org.jetbrains.jet.lang.resolve.name.Name.special("<dummy>"), org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration.ALL_JAVA_IMPORTS, org.jetbrains.jet.lang.resolve.java.JavaToKotlinClassMap.getInstance()); 077 this.project = project; 078 this.psiDeclarationProviderFactory = new PsiDeclarationProviderFactory(getPsiClassFinder()); 079 this.javaTypeTransformer = new JavaTypeTransformer(); 080 this.javaClassResolver = new JavaClassResolver(); 081 this.javaAnnotationResolver = new JavaAnnotationResolver(); 082 this.javaCompileTimeConstResolver = new JavaCompileTimeConstResolver(); 083 this.javaClassObjectResolver = new JavaClassObjectResolver(); 084 this.javaSupertypeResolver = new JavaSupertypeResolver(); 085 this.javaFunctionResolver = new JavaFunctionResolver(); 086 this.javaValueParameterResolver = new JavaValueParameterResolver(); 087 this.javaSignatureResolver = new JavaSignatureResolver(); 088 this.javaNamespaceResolver = new JavaNamespaceResolver(); 089 this.javaConstructorResolver = new JavaConstructorResolver(); 090 this.javaInnerClassResolver = new JavaInnerClassResolver(); 091 this.javaPropertyResolver = new JavaPropertyResolver(); 092 093 this.javaSemanticServices.setDescriptorResolver(javaDescriptorResolver); 094 this.javaSemanticServices.setPsiClassFinder(psiClassFinder); 095 this.javaSemanticServices.setPsiDeclarationProviderFactory(psiDeclarationProviderFactory); 096 this.javaSemanticServices.setTrace(bindingTrace); 097 this.javaSemanticServices.setTypeTransformer(javaTypeTransformer); 098 099 this.javaDescriptorResolver.setClassResolver(javaClassResolver); 100 this.javaDescriptorResolver.setConstructorResolver(javaConstructorResolver); 101 this.javaDescriptorResolver.setFunctionResolver(javaFunctionResolver); 102 this.javaDescriptorResolver.setInnerClassResolver(javaInnerClassResolver); 103 this.javaDescriptorResolver.setNamespaceResolver(javaNamespaceResolver); 104 this.javaDescriptorResolver.setPropertiesResolver(javaPropertyResolver); 105 106 javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices); 107 108 this.psiClassFinder.setProject(project); 109 110 moduleDescriptor.setModuleConfiguration(javaBridgeConfiguration); 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 JavaSemanticServices getJavaSemanticServices() { 174 return this.javaSemanticServices; 175 } 176 177 public JavaDescriptorResolver getJavaDescriptorResolver() { 178 return this.javaDescriptorResolver; 179 } 180 181 public BindingTrace getBindingTrace() { 182 return this.bindingTrace; 183 } 184 185 public PsiClassFinderImpl getPsiClassFinder() { 186 return this.psiClassFinder; 187 } 188 189 public Project getProject() { 190 return this.project; 191 } 192 193}