Restored test code for deserialized scopes.

This commit is contained in:
Evgeny Gerashchenko
2013-11-27 15:44:54 +04:00
parent d64cfa04e9
commit e680567290
@@ -22,10 +22,7 @@ import org.jetbrains.jet.ConfigurationKind;
import org.jetbrains.jet.analyzer.AnalyzeExhaust; import org.jetbrains.jet.analyzer.AnalyzeExhaust;
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedClassDescriptor; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedClassDescriptor;
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedPackageMemberScope; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedPackageMemberScope;
import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor; import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor;
import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.resolve.scopes.JetScope;
import org.jetbrains.jet.test.TestCaseWithTmpdir; import org.jetbrains.jet.test.TestCaseWithTmpdir;
@@ -64,7 +61,7 @@ public abstract class AbstractLoadCompiledKotlinTest extends TestCaseWithTmpdir
PackageViewDescriptor packageFromBinary = LoadDescriptorUtil.loadTestPackageAndBindingContextFromJavaRoot( PackageViewDescriptor packageFromBinary = LoadDescriptorUtil.loadTestPackageAndBindingContextFromJavaRoot(
tmpdir, getTestRootDisposable(), ConfigurationKind.JDK_ONLY).first; tmpdir, getTestRootDisposable(), ConfigurationKind.JDK_ONLY).first;
checkUsageOfDeserializedScope(packageFromBinary); checkUsageOfDeserializedScope(DescriptorUtils.getExactlyOnePackageFragment(packageFromBinary.getModule(), TEST_PACKAGE_FQNAME));
for (DeclarationDescriptor descriptor : packageFromBinary.getMemberScope().getAllDescriptors()) { for (DeclarationDescriptor descriptor : packageFromBinary.getMemberScope().getAllDescriptors()) {
if (descriptor instanceof ClassDescriptor) { if (descriptor instanceof ClassDescriptor) {
@@ -79,21 +76,20 @@ public abstract class AbstractLoadCompiledKotlinTest extends TestCaseWithTmpdir
txtFile); txtFile);
} }
// TODO 2 do something private static void checkUsageOfDeserializedScope(@NotNull PackageFragmentDescriptor packageFromBinary) {
private static void checkUsageOfDeserializedScope(@NotNull PackageViewDescriptor packageFromBinary) { JetScope scope = packageFromBinary.getMemberScope();
//JetScope scope = packageFromBinary.getMemberScope(); boolean hasOwnMembers = false;
//boolean hasOwnMembers = false; for (DeclarationDescriptor declarationDescriptor : scope.getAllDescriptors()) {
//for (DeclarationDescriptor declarationDescriptor : scope.getAllDescriptors()) { if (declarationDescriptor instanceof CallableMemberDescriptor) {
// if (declarationDescriptor instanceof CallableMemberDescriptor) { hasOwnMembers = true;
// hasOwnMembers = true; }
// } }
//} if (hasOwnMembers) {
//if (hasOwnMembers) { assert scope instanceof DeserializedPackageMemberScope : "If namespace has members, members should be inside deserialized scope.";
// assert scope instanceof DeserializedPackageMemberScope : "If namespace has members, members should be inside deserialized scope."; }
//} else {
//else { //NOTE: should probably change
// //NOTE: should probably change assert !(scope instanceof DeserializedPackageMemberScope) : "We don't use deserialized scopes for namespaces without members.";
// assert !(scope instanceof DeserializedPackageMemberScope) : "We don't use deserialized scopes for namespaces without members."; }
//}
} }
} }