Use instance methods instead of JetPsiUtil for getting fq names
Remove unnecessary usages of JetFile#getPackageDirective where only FqName is needed Make JetFile#getPackageFqName not nullable to avoid confusion on call sites Remove getPackageName usages Move getFqName(JetNamedDeclaration) to a separate util class
This commit is contained in:
@@ -259,10 +259,7 @@ public class JetShortNamesCache extends PsiShortNamesCache {
|
||||
PsiFile containingFile = jetNamedFunction.getContainingFile();
|
||||
if (containingFile instanceof JetFile) {
|
||||
JetFile jetFile = (JetFile) containingFile;
|
||||
String packageName = jetFile.getPackageName();
|
||||
if (packageName != null) {
|
||||
affectedPackages.add(new FqName(packageName));
|
||||
}
|
||||
affectedPackages.add(jetFile.getPackageFqName());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-3
@@ -20,11 +20,9 @@ import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.libraries.LibraryUtil;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -122,7 +120,7 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport
|
||||
// Scripts are not supported
|
||||
if (file.isScript()) continue;
|
||||
|
||||
FqName packageFqName = JetPsiUtil.getFQName(file);
|
||||
FqName packageFqName = file.getPackageFqName();
|
||||
|
||||
// make sure we create a package descriptor
|
||||
PackageViewDescriptor packageDescriptor = session.getModuleDescriptor().getPackage(packageFqName);
|
||||
|
||||
@@ -190,7 +190,7 @@ public class JetPositionManager implements PositionManager {
|
||||
}
|
||||
|
||||
private JetTypeMapper prepareTypeMapper(final JetFile file) {
|
||||
FqName fqName = JetPsiUtil.getFQName(file);
|
||||
FqName fqName = file.getPackageFqName();
|
||||
CachedValue<JetTypeMapper> value = myTypeMappers.get(fqName);
|
||||
if(value == null) {
|
||||
value = CachedValuesManager.getManager(file.getProject()).createCachedValue(new CachedValueProvider<JetTypeMapper>() {
|
||||
@@ -248,7 +248,7 @@ public class JetPositionManager implements PositionManager {
|
||||
|
||||
@TestOnly
|
||||
public void addTypeMapper(JetFile file, final JetTypeMapper typeMapper) {
|
||||
FqName fqName = JetPsiUtil.getFQName(file);
|
||||
FqName fqName = file.getPackageFqName();
|
||||
CachedValue<JetTypeMapper> value = CachedValuesManager.getManager(file.getProject()).createCachedValue(new CachedValueProvider<JetTypeMapper>() {
|
||||
@Override
|
||||
public Result<JetTypeMapper> compute() {
|
||||
|
||||
@@ -376,11 +376,9 @@ public class ResolveElementCache {
|
||||
|
||||
if (expression.getParent() instanceof JetDotQualifiedExpression) {
|
||||
JetExpression element = ((JetDotQualifiedExpression) expression.getParent()).getReceiverExpression();
|
||||
String name = ((JetFile) expression.getContainingFile()).getPackageName();
|
||||
FqName fqName = ((JetFile) expression.getContainingFile()).getPackageFqName();
|
||||
|
||||
PackageViewDescriptor filePackage = name != null
|
||||
? resolveSession.getModuleDescriptor().getPackage(new FqName(name))
|
||||
: rootPackage;
|
||||
PackageViewDescriptor filePackage = resolveSession.getModuleDescriptor().getPackage(fqName);
|
||||
assert filePackage != null : "File package should be already resolved and be found";
|
||||
|
||||
JetScope scope = filePackage.getMemberScope();
|
||||
|
||||
@@ -674,7 +674,7 @@ public class CreateFunctionFromUsageFix extends CreateFromUsageFixBase {
|
||||
|
||||
JetScope scope;
|
||||
if (isExtension) {
|
||||
scope = currentFileModule.getPackage(JetPsiUtil.getFQName(currentFile)).getMemberScope();
|
||||
scope = currentFileModule.getPackage(currentFile.getPackageFqName()).getMemberScope();
|
||||
}
|
||||
else {
|
||||
scope = ((ClassDescriptorWithResolutionScopes) ownerClassDescriptor).getScopeForMemberDeclarationResolution();
|
||||
|
||||
@@ -127,7 +127,7 @@ public class ImportInsertHelper {
|
||||
}
|
||||
|
||||
// There's no need to import a declaration from the package of current file
|
||||
if (JetPsiUtil.getFQName(jetFile).equals(importPath.fqnPart().parent())) {
|
||||
if (jetFile.getPackageFqName().equals(importPath.fqnPart().parent())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -77,7 +77,7 @@ public class MoveKotlinFileHandler : MoveFileHandler() {
|
||||
}
|
||||
|
||||
private fun JetFile.packageMatchesDirectory(): Boolean {
|
||||
return getPackageName() == getParent()?.getPackage()?.getQualifiedName()
|
||||
return getPackageFqName().asString() == getParent()?.getPackage()?.getQualifiedName()
|
||||
}
|
||||
|
||||
override fun canProcessElement(element: PsiFile?): Boolean {
|
||||
@@ -91,7 +91,7 @@ public class MoveKotlinFileHandler : MoveFileHandler() {
|
||||
if (newPackage != null) {
|
||||
file.putCopyableUserData(
|
||||
PACKAGE_NAME_INFO_KEY,
|
||||
PackageNameInfo(JetPsiUtil.getFQName(file), FqName(newPackage.getQualifiedName()))
|
||||
PackageNameInfo(file.getPackageFqName(), FqName(newPackage.getQualifiedName()))
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-3
@@ -239,10 +239,9 @@ public class MoveKotlinTopLevelDeclarationsProcessor(project: Project, val optio
|
||||
|
||||
assert(targetFile is JetFile, "Couldn't create Koltin file for: ${declaration.getClass()}: ${declaration.getText()}")
|
||||
|
||||
val newPackage = (targetFile as JetFile).getPackageName()
|
||||
assert (newPackage != null, "${targetFile.getClass()}: ${targetFile.getText()}")
|
||||
val newPackageFqName = (targetFile as JetFile).getPackageFqName()
|
||||
|
||||
val packageNameInfo = PackageNameInfo(JetPsiUtil.getFQName(file!!), FqName(newPackage!!))
|
||||
val packageNameInfo = PackageNameInfo(file!!.getPackageFqName(), newPackageFqName)
|
||||
declaration.updateInternalReferencesOnPackageNameChange(packageNameInfo, ShorteningMode.NO_SHORTENING)
|
||||
|
||||
val newElement = targetFile.add(declaration) as JetNamedDeclaration
|
||||
|
||||
@@ -29,7 +29,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.analyzer.AnalyzerFacade;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.psi.JetPsiUtil;
|
||||
import org.jetbrains.jet.lang.resolve.java.PackageClassUtils;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
@@ -73,7 +72,7 @@ public class JetRunConfigurationProducer extends RuntimeConfigurationProducer im
|
||||
|
||||
mySourceElement = file;
|
||||
|
||||
FqName startClassFQName = PackageClassUtils.getPackageClassFqName(JetPsiUtil.getFQName(file));
|
||||
FqName startClassFQName = PackageClassUtils.getPackageClassFqName(file.getPackageFqName());
|
||||
|
||||
return createConfigurationByQName(module, configurationContext, startClassFQName);
|
||||
}
|
||||
@@ -119,7 +118,7 @@ public class JetRunConfigurationProducer extends RuntimeConfigurationProducer im
|
||||
return null;
|
||||
}
|
||||
|
||||
FqName startClassFQName = PackageClassUtils.getPackageClassFqName(JetPsiUtil.getFQName(file));
|
||||
FqName startClassFQName = PackageClassUtils.getPackageClassFqName(file.getPackageFqName());
|
||||
|
||||
for (RunnerAndConfigurationSettings existingConfiguration : existingConfigurations) {
|
||||
if (existingConfiguration.getType() instanceof JetRunConfigurationType) {
|
||||
|
||||
@@ -23,7 +23,6 @@ import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.psi.JetPsiUtil;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.NamePackage;
|
||||
|
||||
@@ -41,7 +40,7 @@ public final class PackageIndexUtil {
|
||||
|
||||
Set<FqName> result = Sets.newHashSet();
|
||||
for (JetFile file : files) {
|
||||
FqName fqName = JetPsiUtil.getFQName(file);
|
||||
FqName fqName = file.getPackageFqName();
|
||||
|
||||
assert NamePackage.isSubpackageOf(fqName, packageFqName) :
|
||||
"Registered package is not a subpackage of actually declared package:\n" +
|
||||
@@ -66,7 +65,7 @@ public final class PackageIndexUtil {
|
||||
return ContainerUtil.filter(files, new Condition<JetFile>() {
|
||||
@Override
|
||||
public boolean value(JetFile file) {
|
||||
return packageFqName.equals(JetPsiUtil.getFQName(file));
|
||||
return packageFqName.equals(file.getPackageFqName());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -29,15 +29,14 @@ public class StubIndexServiceImpl implements StubIndexService {
|
||||
|
||||
@Override
|
||||
public void indexFile(PsiJetFileStub stub, IndexSink sink) {
|
||||
String packageName = stub.getPackageName();
|
||||
FqName fqName = new FqName(packageName == null ? "" : packageName);
|
||||
FqName packageFqName = stub.getPackageFqName();
|
||||
|
||||
while (true) {
|
||||
sink.occurrence(JetAllPackagesIndex.getInstance().getKey(), fqName.asString());
|
||||
if (fqName.isRoot()) {
|
||||
sink.occurrence(JetAllPackagesIndex.getInstance().getKey(), packageFqName.asString());
|
||||
if (packageFqName.isRoot()) {
|
||||
return;
|
||||
}
|
||||
fqName = fqName.parent();
|
||||
packageFqName = packageFqName.parent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,10 +100,8 @@ public class StubIndexServiceImpl implements StubIndexService {
|
||||
StubElement parentStub = stub.getParentStub();
|
||||
if (parentStub instanceof PsiJetFileStub) {
|
||||
PsiJetFileStub jetFileStub = (PsiJetFileStub) parentStub;
|
||||
String packageName = jetFileStub.getPackageName();
|
||||
if (packageName != null) {
|
||||
sink.occurrence(JetClassByPackageIndex.getInstance().getKey(), packageName);
|
||||
}
|
||||
FqName packageFqName = jetFileStub.getPackageFqName();
|
||||
sink.occurrence(JetClassByPackageIndex.getInstance().getKey(), packageFqName.asString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||
import org.jetbrains.jet.codegen.binding.PsiCodegenPredictor;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.psi.JetPsiUtil;
|
||||
import org.jetbrains.jet.lang.resolve.java.JetFilesProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.JvmClassName;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
@@ -53,7 +52,7 @@ public class DebuggerUtils {
|
||||
public boolean apply(@Nullable JetFile file) {
|
||||
return file != null
|
||||
&& file.getName().equals(fileName)
|
||||
&& JetPsiUtil.getFQName(file).equals(packageFqName);
|
||||
&& file.getPackageFqName().equals(packageFqName);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ import org.jetbrains.jet.asJava.KotlinLightClassForExplicitDeclaration;
|
||||
import org.jetbrains.jet.asJava.KotlinLightClassForPackage;
|
||||
import org.jetbrains.jet.lang.psi.JetClassOrObject;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.psi.JetPsiUtil;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.NamePackage;
|
||||
import org.jetbrains.jet.lexer.JetTokens;
|
||||
@@ -46,8 +45,8 @@ public class JetPsiHeuristicsUtil {
|
||||
// The class is declared private in the targetPackage
|
||||
// It is visible in this package and all of its subpackages
|
||||
JetFile targetFile = (JetFile) classOrObject.getContainingFile();
|
||||
FqName targetPackage = JetPsiUtil.getFQName(targetFile);
|
||||
FqName fromPackage = JetPsiUtil.getFQName(fromFile);
|
||||
FqName targetPackage = targetFile.getPackageFqName();
|
||||
FqName fromPackage = fromFile.getPackageFqName();
|
||||
|
||||
return NamePackage.isSubpackageOf(fromPackage, targetPackage);
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ public abstract class AbstractRenameTest : MultiFileTestCase() {
|
||||
val document = FileDocumentManager.getInstance()!!.getDocument(mainFile)!!
|
||||
val jetFile = PsiDocumentManager.getInstance(context.project).getPsiFile(document) as JetFile
|
||||
|
||||
val fileFqn = jetFile.getPackageDirective()!!.getFqName()
|
||||
val fileFqn = jetFile.getPackageFqName()
|
||||
Assert.assertTrue("File '${mainFilePath}' should have package containing ${fqn}", fileFqn.isSubpackageOf(fqn))
|
||||
|
||||
val packageSegment = jetFile.getPackageDirective()!!.getPackageNames()[fqn.pathSegments().size - 1]
|
||||
|
||||
Reference in New Issue
Block a user