From c4484cf81db8eb5f58dbc541b03100236bf6aec3 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Fri, 15 Jun 2012 16:27:58 +0400 Subject: [PATCH] getContainingPackageFqName() added to JetClassLikeInfo --- .../resolve/lazy/data/JetClassLikeInfo.java | 5 ++++ .../lazy/data/JetClassOrObjectInfo.java | 23 +++++++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/data/JetClassLikeInfo.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/data/JetClassLikeInfo.java index 4d384d74286..408bbb0119f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/data/JetClassLikeInfo.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/data/JetClassLikeInfo.java @@ -21,6 +21,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.ClassKind; import org.jetbrains.jet.lang.psi.*; +import org.jetbrains.jet.lang.resolve.name.FqName; import java.util.List; @@ -28,6 +29,10 @@ import java.util.List; * @author abreslav */ public interface JetClassLikeInfo extends JetDeclarationContainer { + + @NotNull + FqName getContainingPackageFqName(); + @NotNull List getDelegationSpecifiers(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/data/JetClassOrObjectInfo.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/data/JetClassOrObjectInfo.java index e7def9bd668..838755a6f4f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/data/JetClassOrObjectInfo.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/data/JetClassOrObjectInfo.java @@ -17,12 +17,11 @@ package org.jetbrains.jet.lang.resolve.lazy.data; import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.jet.lang.psi.JetClassOrObject; -import org.jetbrains.jet.lang.psi.JetDeclaration; -import org.jetbrains.jet.lang.psi.JetDelegationSpecifier; -import org.jetbrains.jet.lang.psi.JetModifierList; +import org.jetbrains.jet.lang.psi.*; +import org.jetbrains.jet.lang.resolve.name.FqName; import java.util.List; @@ -70,4 +69,20 @@ public abstract class JetClassOrObjectInfo implement public PsiElement getScopeAnchor() { return element; } + + @NotNull + @Override + public FqName getContainingPackageFqName() { + PsiFile file = element.getContainingFile(); + if (file instanceof JetFile) { + JetFile jetFile = (JetFile) file; + return new FqName(jetFile.getNamespaceHeader().getQualifiedName()); + } + throw new IllegalArgumentException("Not in a JetFile: " + element); + } + + @Override + public String toString() { + return "info for " + element.getText(); + } }