From 93eb8cf2b7aa205927ca47f200f562513097575b Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Thu, 29 Jul 2010 18:59:25 +0400 Subject: [PATCH] el variables from including files: JspFileIndex refactored to use BaseJspFile --- .../source/tree/java/PsiLocalVariableImpl.java | 7 ++++--- .../psi/impl/source/jsp/JspContextManager.java | 17 ++++++++++------- .../src/com/intellij/psi/jsp/JspSpiUtil.java | 4 ++-- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiLocalVariableImpl.java b/java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiLocalVariableImpl.java index 6c9680020c0a..178e328233b8 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiLocalVariableImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiLocalVariableImpl.java @@ -27,6 +27,7 @@ import com.intellij.psi.impl.source.codeStyle.CodeEditUtil; import com.intellij.psi.impl.source.jsp.JspContextManager; import com.intellij.psi.impl.source.jsp.jspJava.JspCodeBlock; import com.intellij.psi.impl.source.tree.*; +import com.intellij.psi.jsp.BaseJspFile; import com.intellij.psi.jsp.JspElementType; import com.intellij.psi.jsp.JspFile; import com.intellij.psi.jsp.JspSpiUtil; @@ -289,10 +290,10 @@ public class PsiLocalVariableImpl extends CompositePsiElement implements PsiLoca } final Set allIncluded = new THashSet(10); - final JspFile rootContext = contextManager.getRootContextFile(jspFile); + final BaseJspFile rootContext = contextManager.getRootContextFile(jspFile); allIncluded.add(rootContext); - JspSpiUtil.visitAllIncludedFilesRecursively(rootContext, new Processor() { - public boolean process(final JspFile file) { + JspSpiUtil.visitAllIncludedFilesRecursively(rootContext, new Processor() { + public boolean process(final BaseJspFile file) { allIncluded.add(file); return true; } diff --git a/java/jsp-spi/src/com/intellij/psi/impl/source/jsp/JspContextManager.java b/java/jsp-spi/src/com/intellij/psi/impl/source/jsp/JspContextManager.java index 763f100865ea..976932ac0ad7 100644 --- a/java/jsp-spi/src/com/intellij/psi/impl/source/jsp/JspContextManager.java +++ b/java/jsp-spi/src/com/intellij/psi/impl/source/jsp/JspContextManager.java @@ -18,6 +18,7 @@ package com.intellij.psi.impl.source.jsp; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiFile; +import com.intellij.psi.jsp.BaseJspFile; import com.intellij.psi.jsp.JspFile; import com.intellij.util.containers.HashSet; import org.jetbrains.annotations.NotNull; @@ -32,20 +33,22 @@ public abstract class JspContextManager { return project.getComponent(JspContextManager.class); } - public abstract JspFile[] getSuitableContextFiles(@NotNull PsiFile file); + public abstract BaseJspFile[] getSuitableContextFiles(@NotNull PsiFile file); - public abstract void setContextFile(@NotNull PsiFile file, @Nullable JspFile contextFile, final boolean userDefined); + public abstract void setContextFile(@NotNull PsiFile file, @Nullable BaseJspFile contextFile, final boolean userDefined); - public abstract @Nullable JspFile getContextFile(@NotNull PsiFile file); + public abstract @Nullable + BaseJspFile getContextFile(@NotNull PsiFile file); public abstract @Nullable JspFile getConfiguredContextFile(@NotNull PsiFile file); - public @NotNull JspFile getRootContextFile(@NotNull JspFile file) { - JspFile rootContext = file; - HashSet recursionPreventer = new HashSet(); + public @NotNull + BaseJspFile getRootContextFile(@NotNull BaseJspFile file) { + BaseJspFile rootContext = file; + HashSet recursionPreventer = new HashSet(); do { recursionPreventer.add(rootContext); - JspFile context = getContextFile(rootContext); + BaseJspFile context = getContextFile(rootContext); if (context == null || recursionPreventer.contains(context)) break; rootContext = context; } diff --git a/java/jsp-spi/src/com/intellij/psi/jsp/JspSpiUtil.java b/java/jsp-spi/src/com/intellij/psi/jsp/JspSpiUtil.java index 542fdd95908e..01ba9e47b174 100644 --- a/java/jsp-spi/src/com/intellij/psi/jsp/JspSpiUtil.java +++ b/java/jsp-spi/src/com/intellij/psi/jsp/JspSpiUtil.java @@ -62,14 +62,14 @@ public abstract class JspSpiUtil { protected abstract int _escapeCharsInJspContext(JspFile file, int offset, String toEscape) throws IncorrectOperationException; - public static void visitAllIncludedFilesRecursively(JspFile jspFile, Processor visitor) { + public static void visitAllIncludedFilesRecursively(BaseJspFile jspFile, Processor visitor) { final JspSpiUtil util = getJspSpiUtil(); if (util != null) { util._visitAllIncludedFilesRecursively(jspFile, visitor); } } - protected abstract void _visitAllIncludedFilesRecursively(JspFile jspFile, Processor visitor); + protected abstract void _visitAllIncludedFilesRecursively(BaseJspFile jspFile, Processor visitor); @Nullable public static PsiElement resolveMethodPropertyReference(@NotNull PsiReference reference, @Nullable PsiClass resolvedClass, boolean readable) {