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.
|
* 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.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
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.ImportPath;
|
||||||
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
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) {
|
public static boolean isSubpackageOf(@NotNull final FqName subpackageName, @NotNull FqName packageName) {
|
||||||
return subpackageName.equals(packageName) ||
|
if (subpackageName.equals(packageName)) {
|
||||||
(subpackageName.getFqName().startsWith(packageName.getFqName()) && subpackageName.getFqName().charAt(packageName.getFqName().length()) == '.');
|
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) {
|
public static boolean isOneSegmentFQN(@NotNull final String fqn) {
|
||||||
@@ -84,7 +95,7 @@ public final class QualifiedNamesUtil {
|
|||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull
|
||||||
public static String tail(@NotNull FqName headFQN, @NotNull FqName fullFQN) {
|
public static String tail(@NotNull FqName headFQN, @NotNull FqName fullFQN) {
|
||||||
if (!isSubpackageOf(fullFQN, headFQN)) {
|
if (!isSubpackageOf(fullFQN, headFQN) || headFQN.isRoot()) {
|
||||||
return fullFQN.getFqName();
|
return fullFQN.getFqName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user