Rewrite methods: root package is parent package for all packages
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* Copyright 2010-2012 JetBrains s.r.o.
|
||||
*
|
||||
@@ -18,8 +19,8 @@ package org.jetbrains.jet.util;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.ImportPath;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
|
||||
/**
|
||||
@@ -33,8 +34,18 @@ public final class QualifiedNamesUtil {
|
||||
}
|
||||
|
||||
public static boolean isSubpackageOf(@NotNull final FqName subpackageName, @NotNull FqName packageName) {
|
||||
return subpackageName.equals(packageName) ||
|
||||
(subpackageName.getFqName().startsWith(packageName.getFqName()) && subpackageName.getFqName().charAt(packageName.getFqName().length()) == '.');
|
||||
if (subpackageName.equals(packageName)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (packageName.isRoot()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
String subpackageNameStr = subpackageName.getFqName();
|
||||
String packageNameStr = packageName.getFqName();
|
||||
|
||||
return (subpackageNameStr.startsWith(packageNameStr) && subpackageNameStr.charAt(packageNameStr.length()) == '.');
|
||||
}
|
||||
|
||||
public static boolean isOneSegmentFQN(@NotNull final String fqn) {
|
||||
@@ -84,7 +95,7 @@ public final class QualifiedNamesUtil {
|
||||
*/
|
||||
@NotNull
|
||||
public static String tail(@NotNull FqName headFQN, @NotNull FqName fullFQN) {
|
||||
if (!isSubpackageOf(fullFQN, headFQN)) {
|
||||
if (!isSubpackageOf(fullFQN, headFQN) || headFQN.isRoot()) {
|
||||
return fullFQN.getFqName();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user