diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/FqName.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/FqName.java index 51ef726c404..be14e2572cc 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/FqName.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/FqName.java @@ -129,6 +129,15 @@ public class FqName { return fqName.pathSegments(); } + public boolean firstSegmentIs(@NotNull String segment) { + return fqName.firstSegmentIs(segment); + } + + public boolean lastSegmentIs(@NotNull String segment) { + return fqName.lastSegmentIs(segment); + } + + @NotNull public static FqName topLevel(@NotNull String shortName) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/FqNameUnsafe.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/FqNameUnsafe.java index a7d4d02df5e..bc88edbf9eb 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/FqNameUnsafe.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/FqNameUnsafe.java @@ -216,6 +216,22 @@ public class FqNameUnsafe { } } + public boolean firstSegmentIs(@NotNull String segment) { + if (isRoot()) { + return false; + } + List pathSegments = pathSegments(); + return pathSegments.get(0).equals(segment); + } + + public boolean lastSegmentIs(@NotNull String segment) { + if (isRoot()) { + return false; + } + List pathSegments = pathSegments(); + return pathSegments.get(pathSegments.size() - 1).equals(segment); + } + @NotNull