mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-06 06:21:16 +07:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -128,9 +128,7 @@ public class CopyClassesHandler extends CopyHandlerDelegateBase {
|
||||
if (classes != null) {
|
||||
topLevelClasses = ArrayUtil.mergeArrays(classes, topLevelClasses, PsiClass.ARRAY_FACTORY);
|
||||
}
|
||||
if (topLevelClasses != null) {
|
||||
result.put(containingFile, topLevelClasses);
|
||||
}
|
||||
result.put(containingFile, topLevelClasses);
|
||||
}
|
||||
|
||||
public void doCopy(PsiElement[] elements, PsiDirectory defaultTargetDirectory) {
|
||||
@@ -361,19 +359,26 @@ public class CopyClassesHandler extends CopyHandlerDelegateBase {
|
||||
}
|
||||
|
||||
private static PsiFile copy(@NotNull PsiFile file, PsiDirectory directory, String name, String relativePath) {
|
||||
final String fileName;
|
||||
if (name != null) {
|
||||
fileName = file instanceof PsiClassOwner ? name + "." + file.getViewProvider().getVirtualFile().getExtension() : name;
|
||||
}
|
||||
else {
|
||||
fileName = file.getName();
|
||||
}
|
||||
final String fileName = getNewFileName(file, name);
|
||||
if (relativePath != null && !relativePath.isEmpty()) {
|
||||
return buildRelativeDir(directory, relativePath).findOrCreateTargetDirectory().copyFileFrom(fileName, file);
|
||||
}
|
||||
return directory.copyFileFrom(fileName, file);
|
||||
}
|
||||
|
||||
private static String getNewFileName(PsiFile file, String name) {
|
||||
if (name != null) {
|
||||
if (file instanceof PsiClassOwner) {
|
||||
final PsiClass[] classes = ((PsiClassOwner)file).getClasses();
|
||||
if (classes.length > 0 && !(classes[0] instanceof SyntheticElement)) {
|
||||
return name + "." + file.getViewProvider().getVirtualFile().getExtension();
|
||||
}
|
||||
}
|
||||
return name;
|
||||
}
|
||||
return file.getName();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static MoveDirectoryWithClassesProcessor.TargetDirectoryWrapper buildRelativeDir(final @NotNull PsiDirectory directory,
|
||||
final @NotNull String relativePath) {
|
||||
|
||||
+8
-1
@@ -50,6 +50,7 @@ import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.regex.PatternSyntaxException;
|
||||
|
||||
import static org.jetbrains.idea.eclipse.conversion.EPathUtil.*;
|
||||
|
||||
@@ -150,7 +151,13 @@ public class EclipseClasspathReader {
|
||||
}
|
||||
else {
|
||||
String srcUrl = VfsUtil.pathToUrl(myRootPath + "/" + path);
|
||||
final boolean isTestFolder = testPattern != null && testPattern.length() > 0 && path.matches(testPattern);
|
||||
boolean isTestFolder = false;
|
||||
try {
|
||||
isTestFolder = testPattern != null && testPattern.length() > 0 && path.matches(testPattern);
|
||||
}
|
||||
catch (PatternSyntaxException e) {
|
||||
isTestFolder = false;
|
||||
}
|
||||
final EclipseProjectFinder.LinkedResource linkedResource = EclipseProjectFinder.findLinkedResource(myRootPath, path);
|
||||
if (linkedResource != null) {
|
||||
if (linkedResource.containsPathVariable()) {
|
||||
|
||||
Reference in New Issue
Block a user