mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 06:05:01 +07:00
[java] avoids setting a package name for module-info files
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -18,13 +18,13 @@ package com.intellij.psi.impl.file;
|
||||
import com.intellij.openapi.roots.JavaProjectRootsUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.templateLanguages.TemplateLanguageFileViewProvider;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* @author Maxim.Mossienko
|
||||
* Date: Sep 18, 2008
|
||||
* Time: 3:33:07 PM
|
||||
* @since Sep 18, 2008
|
||||
*/
|
||||
public class JavaUpdateAddedFileProcessor extends UpdateAddedFileProcessor {
|
||||
@Override
|
||||
@@ -34,14 +34,17 @@ public class JavaUpdateAddedFileProcessor extends UpdateAddedFileProcessor {
|
||||
|
||||
@Override
|
||||
public void update(final PsiFile element, PsiFile originalElement) throws IncorrectOperationException {
|
||||
if (element.getViewProvider() instanceof TemplateLanguageFileViewProvider) return;
|
||||
if (element.getViewProvider() instanceof TemplateLanguageFileViewProvider || PsiUtil.isModuleFile(element)) {
|
||||
return;
|
||||
}
|
||||
|
||||
PsiDirectory dir = element.getContainingDirectory();
|
||||
if (dir == null) return;
|
||||
PsiPackage aPackage = JavaDirectoryService.getInstance().getPackage(dir);
|
||||
if (aPackage == null) return;
|
||||
String packageName = aPackage.getQualifiedName();
|
||||
|
||||
((PsiClassOwner)element).setPackageName(packageName);
|
||||
if (dir != null) {
|
||||
PsiPackage aPackage = JavaDirectoryService.getInstance().getPackage(dir);
|
||||
if (aPackage != null) {
|
||||
String packageName = aPackage.getQualifiedName();
|
||||
((PsiClassOwner)element).setPackageName(packageName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+6
-8
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -26,13 +26,13 @@ import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.psi.util.FileTypeUtils;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.refactoring.MoveDestination;
|
||||
import com.intellij.refactoring.PackageWrapper;
|
||||
import com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesUtil;
|
||||
@@ -40,7 +40,6 @@ import com.intellij.refactoring.util.MoveRenameUsageInfo;
|
||||
import com.intellij.refactoring.util.RefactoringUtil;
|
||||
import com.intellij.refactoring.util.TextOccurrencesUtil;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.containers.HashMap;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -236,16 +235,15 @@ public class MoveClassesOrPackagesUtil {
|
||||
final PsiDirectory containingDirectory = file.getContainingDirectory();
|
||||
if (!Comparing.equal(moveDestination.getVirtualFile(), containingDirectory != null ? containingDirectory.getVirtualFile() : null)) {
|
||||
LOG.assertTrue(file.getVirtualFile() != null, aClass);
|
||||
|
||||
MoveFilesOrDirectoriesUtil.doMoveFile(file, moveDestination);
|
||||
if (file instanceof PsiClassOwner && newPackage != null && !FileTypeUtils.isInServerPageFile(file)) {
|
||||
|
||||
if (newPackage != null && file instanceof PsiClassOwner && !FileTypeUtils.isInServerPageFile(file) && !PsiUtil.isModuleFile(file)) {
|
||||
// Do not rely on class instance identity retention after setPackageName (Scala)
|
||||
String aClassName = aClass.getName();
|
||||
((PsiClassOwner)file).setPackageName(newPackage.getQualifiedName());
|
||||
newClass = findClassByName((PsiClassOwner)file, aClassName);
|
||||
LOG.assertTrue(newClass != null, "name: " + aClassName +
|
||||
", file: " + file +
|
||||
", classes: " + StringUtil.join(((PsiClassOwner)file).getClasses(),
|
||||
psiClass -> psiClass.getName(), " "));
|
||||
LOG.assertTrue(newClass != null, "name:" + aClassName + " file:" + file + " classes:" + Arrays.toString(((PsiClassOwner)file).getClasses()));
|
||||
}
|
||||
}
|
||||
return newClass;
|
||||
|
||||
Reference in New Issue
Block a user