made JetFile implements JetElement
This commit is contained in:
@@ -55,13 +55,7 @@ public class JetElementImpl extends ASTWrapperPsiElement implements JetElement {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <D> void acceptChildren(@NotNull JetTreeVisitor<D> visitor, D data) {
|
public <D> void acceptChildren(@NotNull JetTreeVisitor<D> visitor, D data) {
|
||||||
PsiElement child = getFirstChild();
|
JetPsiUtil.visitChildren(this, visitor, data);
|
||||||
while (child != null) {
|
|
||||||
if (child instanceof JetElement) {
|
|
||||||
((JetElement) child).accept(visitor, data);
|
|
||||||
}
|
|
||||||
child = child.getNextSibling();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ import org.jetbrains.jet.plugin.JetLanguage;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class JetFile extends PsiFileBase implements JetDeclarationContainer {
|
public class JetFile extends PsiFileBase implements JetDeclarationContainer, JetElement {
|
||||||
public JetFile(FileViewProvider viewProvider) {
|
public JetFile(FileViewProvider viewProvider) {
|
||||||
super(viewProvider, JetLanguage.INSTANCE);
|
super(viewProvider, JetLanguage.INSTANCE);
|
||||||
}
|
}
|
||||||
@@ -111,10 +111,25 @@ public class JetFile extends PsiFileBase implements JetDeclarationContainer {
|
|||||||
@Override
|
@Override
|
||||||
public void accept(@NotNull PsiElementVisitor visitor) {
|
public void accept(@NotNull PsiElementVisitor visitor) {
|
||||||
if (visitor instanceof JetVisitorVoid) {
|
if (visitor instanceof JetVisitorVoid) {
|
||||||
((JetVisitorVoid) visitor).visitJetFile(this);
|
accept((JetVisitorVoid) visitor);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
visitor.visitFile(this);
|
visitor.visitFile(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <D> void acceptChildren(@NotNull JetTreeVisitor<D> visitor, D data) {
|
||||||
|
JetPsiUtil.visitChildren(this, visitor, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void accept(@NotNull JetVisitorVoid visitor) {
|
||||||
|
visitor.visitJetFile(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <R, D> R accept(@NotNull JetVisitor<R, D> visitor, D data) {
|
||||||
|
return visitor.visitJetFile(this, data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,6 +51,16 @@ public class JetPsiUtil {
|
|||||||
private JetPsiUtil() {
|
private JetPsiUtil() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <D> void visitChildren(@NotNull JetElement element, @NotNull JetTreeVisitor<D> visitor, D data) {
|
||||||
|
PsiElement child = element.getFirstChild();
|
||||||
|
while (child != null) {
|
||||||
|
if (child instanceof JetElement) {
|
||||||
|
((JetElement) child).accept(visitor, data);
|
||||||
|
}
|
||||||
|
child = child.getNextSibling();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public static JetExpression deparenthesizeWithNoTypeResolution(@NotNull JetExpression expression) {
|
public static JetExpression deparenthesizeWithNoTypeResolution(@NotNull JetExpression expression) {
|
||||||
return deparenthesizeWithResolutionStrategy(expression, null);
|
return deparenthesizeWithResolutionStrategy(expression, null);
|
||||||
|
|||||||
Reference in New Issue
Block a user