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(); + } }