Got rid of protected fields.

This commit is contained in:
Evgeny Gerashchenko
2013-08-19 19:09:55 +04:00
committed by Pavel V. Talanov
parent d5e86c38de
commit aec54bcbac
3 changed files with 31 additions and 28 deletions
@@ -21,6 +21,7 @@ import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.util.ThrowableComputable;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtilCore;
@@ -45,8 +46,6 @@ public abstract class AbstractNavigateToLibraryTest extends PlatformTestCase {
protected static final String SOURCES_PATH = TEST_DATA_PATH + "/library";
protected static final String SRC_DIR_NAME = "src";
private static File tempDirWithCompiled;
protected VirtualFile libraryDir;
protected VirtualFile librarySourceDir;
protected abstract boolean isWithSources();
@@ -70,16 +69,13 @@ public abstract class AbstractNavigateToLibraryTest extends PlatformTestCase {
super.setUp();
final VirtualFile baseDir = getProject().getBaseDir();
assertNotNull(baseDir);
ApplicationManager.getApplication().runWriteAction(new Runnable() {
final VirtualFile libraryDir = ApplicationManager.getApplication().runWriteAction(new ThrowableComputable<VirtualFile, IOException>() {
@Override
public void run() {
try {
libraryDir = baseDir.createChildDirectory(this, "lib");
baseDir.createChildDirectory(this, SRC_DIR_NAME);
}
catch (IOException e) {
throw new RuntimeException(e);
}
public VirtualFile compute() throws IOException {
VirtualFile libraryDir = baseDir.createChildDirectory(this, "lib");
baseDir.createChildDirectory(this, SRC_DIR_NAME);
return libraryDir;
}
});
@@ -93,7 +89,7 @@ public abstract class AbstractNavigateToLibraryTest extends PlatformTestCase {
return true;
}
});
librarySourceDir = LocalFileSystem.getInstance().findFileByPath(SOURCES_PATH);
final VirtualFile librarySourceDir = LocalFileSystem.getInstance().findFileByPath(SOURCES_PATH);
assertNotNull(librarySourceDir);
FileUtil.copyDir(getTempDirWithCompiled(), new File(libraryDir.getPath()));
@@ -19,11 +19,16 @@ package org.jetbrains.jet.plugin.libraries;
import com.beust.jcommander.internal.Maps;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.roots.LibraryOrderEntry;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.OrderEntry;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.psi.JetDeclaration;
import org.jetbrains.jet.lang.psi.JetFile;
@@ -116,8 +121,21 @@ public class NavigateToDecompiledLibraryTest extends AbstractNavigateToLibraryTe
return document.getText();
}
@Nullable
private LibraryOrderEntry findOurTestLibrary() {
for (OrderEntry orderEntry : ModuleRootManager.getInstance(getModule()).getOrderEntries()) {
if (orderEntry instanceof LibraryOrderEntry) {
return (LibraryOrderEntry) orderEntry;
}
}
return null;
}
private VirtualFile getClassFile() {
VirtualFile packageDir = libraryDir.findFileByRelativePath(PACKAGE.replace(".", "/"));
LibraryOrderEntry library = findOurTestLibrary();
assertNotNull(library);
VirtualFile packageDir = library.getFiles(OrderRootType.CLASSES)[0].findFileByRelativePath(PACKAGE.replace(".", "/"));
assertNotNull(packageDir);
VirtualFile classFile = packageDir.findChild(getTestName(false) + ".class");
assertNotNull(classFile);
@@ -19,15 +19,14 @@ package org.jetbrains.jet.plugin.libraries;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.EditorFactory;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.roots.ProjectFileIndex;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiReference;
import com.intellij.util.containers.MultiMap;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.JetTestUtils;
import org.jetbrains.jet.plugin.references.JetPsiReference;
@@ -120,7 +119,7 @@ public class NavigateToLibrarySourceTest extends AbstractNavigateToLibraryTest {
if (targetNavPsiFile == null) continue;
VirtualFile targetNavFile = targetNavPsiFile.getVirtualFile();
if (targetNavFile == null) continue;
if (VfsUtilCore.isAncestor(librarySourceDir, targetNavFile, true)) {
if (ProjectFileIndex.SERVICE.getInstance(getProject()).isInLibrarySource(targetNavFile)) {
referenceContainersToReferences.put(ref.getElement(), (JetPsiReference)ref);
}
}
@@ -128,16 +127,6 @@ public class NavigateToLibrarySourceTest extends AbstractNavigateToLibraryTest {
return referenceContainersToReferences.values();
}
@NotNull
private String getRelativePath(@NotNull PsiFile librarySourceFile) {
VirtualFile virtualFile = librarySourceFile.getVirtualFile();
if (virtualFile == null) {
return "";
}
String relativePath = VfsUtilCore.getRelativePath(virtualFile, librarySourceDir, '/');
return relativePath == null ? "" : relativePath;
}
private String getActualAnnotatedLibraryCode() {
MultiMap<PsiFile, Pair<Integer, Integer>> filesToNumbersAndOffsets = new MultiMap<PsiFile, Pair<Integer, Integer>>();
int refNumber = 1;
@@ -157,7 +146,7 @@ public class NavigateToLibrarySourceTest extends AbstractNavigateToLibraryTest {
Collections.sort(files, new Comparator<PsiFile>() {
@Override
public int compare(PsiFile o1, PsiFile o2) {
return getRelativePath(o1).compareTo(getRelativePath(o2));
return o1.getName().compareTo(o2.getName());
}
});
@@ -191,7 +180,7 @@ public class NavigateToLibrarySourceTest extends AbstractNavigateToLibraryTest {
Document annotated = EditorFactory.getInstance().createDocument(resultForFile);
String filePart = annotated.getText().substring(annotated.getLineStartOffset(minLine),
annotated.getLineEndOffset(maxLine));
result.append(" ").append(getRelativePath(file)).append("\n");
result.append(" ").append(file.getName()).append("\n");
result.append(filePart).append("\n");
}
return result.toString();