Merge remote branch 'origin/master'

This commit is contained in:
Evgeny Zakrevsky
2012-03-13 15:51:06 +04:00
107 changed files with 1073 additions and 439 deletions
@@ -156,7 +156,11 @@ public class PackageElementNode extends ProjectViewNode<PackageElement> {
}
public VirtualFile[] getVirtualFiles() {
final PsiDirectory[] directories = getValue().getPackage().getDirectories(PackageUtil.getScopeToShow(getProject(), getValue().getModule(), isLibraryElement()));
final PackageElement value = getValue();
if (value == null) {
return VirtualFile.EMPTY_ARRAY;
}
final PsiDirectory[] directories = value.getPackage().getDirectories(PackageUtil.getScopeToShow(getProject(), value.getModule(), isLibraryElement()));
final VirtualFile[] result = new VirtualFile[directories.length];
for (int i = 0; i < directories.length; i++) {
PsiDirectory directory = directories[i];
@@ -138,7 +138,9 @@ public class CopyClassesHandler extends CopyHandlerDelegateBase {
final Map<PsiFile, PsiClass[]> classes = convertToTopLevelClasses(elements, false, "", relativePathsMap);
assert classes != null;
if (defaultTargetDirectory == null) {
defaultTargetDirectory = classes.keySet().iterator().next().getContainingDirectory();
final PsiFile psiFile = classes.keySet().iterator().next();
defaultTargetDirectory = psiFile.getContainingDirectory();
LOG.assertTrue(defaultTargetDirectory != null, psiFile);
} else {
Project project = defaultTargetDirectory.getProject();
VirtualFile sourceRootForFile = ProjectRootManager.getInstance(project).getFileIndex()