getContainingPackageFqName() added to JetClassLikeInfo

This commit is contained in:
Andrey Breslav
2012-06-15 16:27:58 +04:00
parent eb8c0ec81c
commit c4484cf81d
2 changed files with 24 additions and 4 deletions
@@ -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<JetDelegationSpecifier> getDelegationSpecifiers();
@@ -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<E extends JetClassOrObject> 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();
}
}