fixes after merge

(added module configuration parameter)
This commit is contained in:
Svetlana Isakova
2012-09-05 18:25:00 +04:00
parent 8e5e309440
commit bdf189ed71
3 changed files with 13 additions and 10 deletions
@@ -24,6 +24,7 @@ import com.intellij.psi.PsiFile;
import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.di.InjectorForBodyResolve;
import org.jetbrains.jet.lang.ModuleConfiguration;
import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.psi.*;
import org.jetbrains.jet.lang.resolve.*;
@@ -136,7 +137,7 @@ public class ResolveSessionUtils {
private static void propertyAdditionalResolve(final ResolveSession resolveSession, final JetProperty jetProperty, DelegatingBindingTrace trace, JetFile file) {
EmptyBodyResolveContext bodyResolveContext = new EmptyBodyResolveContext();
BodyResolver bodyResolver = createBodyResolver(trace, file, bodyResolveContext);
BodyResolver bodyResolver = createBodyResolver(trace, file, bodyResolveContext, resolveSession.getModuleConfiguration());
PropertyDescriptor descriptor = (PropertyDescriptor) resolveSession.resolveToDescriptor(jetProperty);
JetExpression propertyInitializer = jetProperty.getInitializer();
@@ -161,7 +162,7 @@ public class ResolveSessionUtils {
DelegatingBindingTrace trace,
JetFile file
) {
BodyResolver bodyResolver = createBodyResolver(trace, file);
BodyResolver bodyResolver = createBodyResolver(trace, file, resolveSession.getModuleConfiguration());
JetScope scope = resolveSession.getResolutionScope(namedFunction);
FunctionDescriptor functionDescriptor = (FunctionDescriptor) resolveSession.resolveToDescriptor(namedFunction);
bodyResolver.resolveFunctionBody(trace, namedFunction, functionDescriptor, scope);
@@ -173,7 +174,7 @@ public class ResolveSessionUtils {
DelegatingBindingTrace trace,
JetFile file
) {
BodyResolver bodyResolver = createBodyResolver(trace, file);
BodyResolver bodyResolver = createBodyResolver(trace, file, resolveSession.getModuleConfiguration());
JetClassOrObject classOrObject = PsiTreeUtil.getParentOfType(classInitializer, JetClassOrObject.class);
LazyClassDescriptor classOrObjectDescriptor = (LazyClassDescriptor) resolveSession.resolveToDescriptor(classOrObject);
bodyResolver.resolveAnonymousInitializers(classOrObject, classOrObjectDescriptor.getUnsubstitutedPrimaryConstructor(),
@@ -182,15 +183,16 @@ public class ResolveSessionUtils {
return true;
}
private static BodyResolver createBodyResolver(DelegatingBindingTrace trace, JetFile file, EmptyBodyResolveContext bodyResolveContext) {
private static BodyResolver createBodyResolver(DelegatingBindingTrace trace, JetFile file, EmptyBodyResolveContext bodyResolveContext,
ModuleConfiguration moduleConfiguration) {
TopDownAnalysisParameters parameters = new TopDownAnalysisParameters(
Predicates.<PsiFile>alwaysTrue(), false, true, Collections.<AnalyzerScriptParameter>emptyList());
InjectorForBodyResolve bodyResolve = new InjectorForBodyResolve(file.getProject(), parameters, trace, bodyResolveContext);
InjectorForBodyResolve bodyResolve = new InjectorForBodyResolve(file.getProject(), parameters, trace, bodyResolveContext, moduleConfiguration);
return bodyResolve.getBodyResolver();
}
private static BodyResolver createBodyResolver(DelegatingBindingTrace trace, JetFile file) {
return createBodyResolver(trace, file, new EmptyBodyResolveContext());
private static BodyResolver createBodyResolver(DelegatingBindingTrace trace, JetFile file, ModuleConfiguration moduleConfiguration) {
return createBodyResolver(trace, file, new EmptyBodyResolveContext(), moduleConfiguration);
}
private static JetScope getExpressionResolutionScope(@NotNull ResolveSession resolveSession, @NotNull JetExpression expression) {
@@ -61,7 +61,7 @@ public class AnnotationJavaDescriptorResolverTest extends TestCaseWithTmpdir {
public void testCustomAnnotationWithKotlinEnum() throws IOException {
File testFile = new File(PATH + "kotlinEnum.kt");
LoadDescriptorUtil.compileKotlinToDirAndGetAnalyzeExhaust(testFile, tmpdir, myTestRootDisposable);
LoadDescriptorUtil.compileKotlinToDirAndGetAnalyzeExhaust(testFile, tmpdir, myTestRootDisposable, ConfigurationKind.JDK_ONLY);
StringBuilder builder = new StringBuilder(tmpdir.getAbsolutePath());
builder.append(File.pathSeparator);
@@ -17,6 +17,7 @@
package org.jetbrains.jet.jvm.compiler;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.ConfigurationKind;
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
import org.jetbrains.jet.lang.resolve.BindingContext;
@@ -45,14 +46,14 @@ public final class LoadKotlinCustomTest extends TestCaseWithTmpdir {
private void loadDescriptorsFromCompiledAndCompareWithTxt(@NotNull File expectedFile, @NotNull File kotlinFile)
throws Exception {
NamespaceDescriptor namespaceFromClass =
compileKotlinAndLoadTestNamespaceDescriptorFromBinary(kotlinFile, tmpdir, myTestRootDisposable);
compileKotlinAndLoadTestNamespaceDescriptorFromBinary(kotlinFile, tmpdir, myTestRootDisposable, ConfigurationKind.JDK_ONLY);
compareNamespaces(namespaceFromClass, namespaceFromClass, DONT_INCLUDE_METHODS_OF_OBJECT, expectedFile);
}
private void loadDescriptorsFromSourceAndCompareWithTxt(@NotNull File expectedFile, @NotNull File kotlinFile)
throws Exception {
AnalyzeExhaust exhaust = compileKotlinToDirAndGetAnalyzeExhaust(kotlinFile, tmpdir, getTestRootDisposable());
AnalyzeExhaust exhaust = compileKotlinToDirAndGetAnalyzeExhaust(kotlinFile, tmpdir, getTestRootDisposable(), ConfigurationKind.JDK_ONLY);
NamespaceDescriptor namespaceFromSource = exhaust.getBindingContext().get(BindingContext.FQNAME_TO_NAMESPACE_DESCRIPTOR,
TEST_PACKAGE_FQNAME);
assert namespaceFromSource != null;