Subclassed from PsiClassHolderFileStub.

This commit is contained in:
Evgeny Gerashchenko
2013-06-06 19:18:47 +04:00
parent 66dc6a975d
commit 9601762b2c
@@ -16,14 +16,21 @@
package org.jetbrains.jet.lang.psi.stubs.impl;
import com.google.common.collect.Lists;
import com.intellij.psi.PsiClass;
import com.intellij.psi.impl.java.stubs.PsiClassStub;
import com.intellij.psi.stubs.PsiClassHolderFileStub;
import com.intellij.psi.stubs.PsiFileStubImpl;
import com.intellij.psi.stubs.StubElement;
import com.intellij.psi.tree.IStubFileElementType;
import com.intellij.util.io.StringRef;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.stubs.PsiJetFileStub;
import org.jetbrains.jet.lang.psi.stubs.elements.JetStubElementTypes;
public class PsiJetFileStubImpl extends PsiFileStubImpl<JetFile> implements PsiJetFileStub {
import java.util.List;
public class PsiJetFileStubImpl extends PsiFileStubImpl<JetFile> implements PsiJetFileStub, PsiClassHolderFileStub<JetFile> {
private final StringRef packageName;
private final boolean isScript;
@@ -65,4 +72,15 @@ public class PsiJetFileStubImpl extends PsiFileStubImpl<JetFile> implements PsiJ
return builder.toString();
}
@Override
public PsiClass[] getClasses() {
List<PsiClass> result = Lists.newArrayList();
for (StubElement child : getChildrenStubs()) {
if (child instanceof PsiClassStub) {
result.add((PsiClass) child.getPsi());
}
}
return result.toArray(new PsiClass[result.size()]);
}
}