mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
make jsp independent
This commit is contained in:
@@ -806,7 +806,7 @@ public class PostHighlightingPass extends TextEditorHighlightingPass {
|
||||
DaemonCodeAnalyzerImpl codeAnalyzer = (DaemonCodeAnalyzerImpl)DaemonCodeAnalyzer.getInstance(myProject);
|
||||
PsiFile file = PsiDocumentManager.getInstance(myProject).getPsiFile(myDocument);
|
||||
// dont optimize out imports in JSP since it can be included in other JSP
|
||||
if (file == null || !codeAnalyzer.isHighlightingAvailable(file) || !(file instanceof PsiJavaFile) || file instanceof JspFile) return false;
|
||||
if (file == null || !codeAnalyzer.isHighlightingAvailable(file) || !(file instanceof PsiJavaFile) || file instanceof ServerPageFile) return false;
|
||||
|
||||
if (!codeAnalyzer.isErrorAnalyzingFinished(file)) return false;
|
||||
boolean errors = containsErrorsPreventingOptimize(file);
|
||||
|
||||
+1
-2
@@ -47,7 +47,6 @@ import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspClass;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.util.*;
|
||||
import com.intellij.refactoring.util.RefactoringChangeUtil;
|
||||
@@ -893,7 +892,7 @@ public class HighlightClassUtil {
|
||||
PsiClass outerClass = aClass.getContainingClass();
|
||||
if (outerClass == null) return null;
|
||||
|
||||
if (outerClass instanceof JspClass || hasEnclosingInstanceInScope(outerClass, placeToSearchEnclosingFrom, true, false)) return null;
|
||||
if (outerClass instanceof PsiSyntheticClass || hasEnclosingInstanceInScope(outerClass, placeToSearchEnclosingFrom, true, false)) return null;
|
||||
return reportIllegalEnclosingUsage(placeToSearchEnclosingFrom, aClass, outerClass, element);
|
||||
}
|
||||
|
||||
|
||||
+1
-3
@@ -26,14 +26,12 @@ import com.intellij.codeInsight.daemon.impl.HighlightInfo;
|
||||
import com.intellij.codeInsight.daemon.impl.HighlightInfoType;
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.colors.EditorColorsScheme;
|
||||
import com.intellij.openapi.editor.colors.TextAttributesKey;
|
||||
import com.intellij.openapi.editor.colors.TextAttributesScheme;
|
||||
import com.intellij.openapi.editor.markup.TextAttributes;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspHolderMethod;
|
||||
import com.intellij.psi.impl.source.tree.ElementType;
|
||||
import com.intellij.psi.impl.source.tree.TreeUtil;
|
||||
import com.intellij.psi.search.scope.packageSet.NamedScope;
|
||||
@@ -252,7 +250,7 @@ public class HighlightNamesUtil {
|
||||
}
|
||||
|
||||
public static TextRange getMethodDeclarationTextRange(@NotNull PsiMethod method) {
|
||||
if (method instanceof JspHolderMethod) return TextRange.EMPTY_RANGE;
|
||||
if (method instanceof SyntheticElement) return TextRange.EMPTY_RANGE;
|
||||
int start = stripAnnotationsFromModifierList(method.getModifierList());
|
||||
final TextRange throwsRange = method.getThrowsList().getTextRange();
|
||||
LOG.assertTrue(throwsRange != null, method);
|
||||
|
||||
+1
-2
@@ -38,7 +38,6 @@ import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.SuggestedNameInfo;
|
||||
import com.intellij.psi.codeStyle.VariableKind;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspClass;
|
||||
import com.intellij.psi.search.LocalSearchScope;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
@@ -91,7 +90,7 @@ public class CreateConstructorParameterFromFieldFix implements IntentionAction {
|
||||
&& field.getManager().isInProject(field)
|
||||
&& !field.hasModifierProperty(PsiModifier.STATIC)
|
||||
&& containingClass != null
|
||||
&& !(containingClass instanceof JspClass)
|
||||
&& !(containingClass instanceof PsiSyntheticClass)
|
||||
&& containingClass.getName() != null;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@ import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspHolderMethod;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class JavaFoldingBuilder extends JavaFoldingBuilderBase {
|
||||
@@ -47,8 +46,9 @@ public class JavaFoldingBuilder extends JavaFoldingBuilderBase {
|
||||
@Nullable
|
||||
@Override
|
||||
public TextRange getRangeToFold(PsiElement element) {
|
||||
if (element instanceof JspHolderMethod)
|
||||
if (element instanceof SyntheticElement) {
|
||||
return null;
|
||||
}
|
||||
return super.getRangeToFold(element); //To change body of overridden methods use File | Settings | File Templates.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,6 @@ import com.intellij.psi.codeStyle.CodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspClass;
|
||||
import com.intellij.psi.infos.CandidateInfo;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
@@ -624,7 +623,7 @@ public class OverrideImplementUtil extends OverrideImplementExploreUtil {
|
||||
while (element instanceof PsiTypeParameter);
|
||||
|
||||
final PsiClass aClass = (PsiClass)element;
|
||||
if (aClass instanceof JspClass) return null;
|
||||
if (aClass instanceof PsiSyntheticClass) return null;
|
||||
return aClass == null || !allowInterface && aClass.isInterface() ? null : aClass;
|
||||
}
|
||||
|
||||
|
||||
+1
-2
@@ -26,7 +26,6 @@ import com.intellij.openapi.editor.markup.TextAttributes;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspClass;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.refactoring.util.RefactoringChangeUtil;
|
||||
@@ -52,7 +51,7 @@ public abstract class BaseMoveInitializerToMethodAction extends PsiElementBaseIn
|
||||
if (!field.hasInitializer()) return false;
|
||||
PsiClass psiClass = field.getContainingClass();
|
||||
|
||||
return psiClass != null && !psiClass.isInterface() && !(psiClass instanceof PsiAnonymousClass) && !(psiClass instanceof JspClass);
|
||||
return psiClass != null && !psiClass.isInterface() && !(psiClass instanceof PsiAnonymousClass) && !(psiClass instanceof PsiSyntheticClass);
|
||||
}
|
||||
|
||||
private boolean hasUnsuitableModifiers(@NotNull PsiField field) {
|
||||
|
||||
@@ -22,8 +22,6 @@ import com.intellij.profile.codeInspection.InspectionProfileManager;
|
||||
import com.intellij.profile.codeInspection.InspectionProjectProfileManager;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocParamRef;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspClass;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspHolderMethod;
|
||||
import com.intellij.psi.javadoc.*;
|
||||
import com.intellij.psi.util.InheritanceUtil;
|
||||
import com.intellij.psi.util.PropertyUtil;
|
||||
@@ -421,7 +419,7 @@ public class JavaDocLocalInspection extends BaseLocalInspectionTool {
|
||||
@Nullable
|
||||
public ProblemDescriptor[] checkClass(@NotNull PsiClass psiClass, @NotNull InspectionManager manager, boolean isOnTheFly) {
|
||||
if (psiClass instanceof PsiAnonymousClass) return null;
|
||||
if (psiClass instanceof JspClass) return null;
|
||||
if (psiClass instanceof PsiSyntheticClass) return null;
|
||||
if (psiClass instanceof PsiTypeParameter) return null;
|
||||
if (IGNORE_DEPRECATED && psiClass.isDeprecated()) {
|
||||
return null;
|
||||
@@ -553,7 +551,7 @@ public class JavaDocLocalInspection extends BaseLocalInspectionTool {
|
||||
@Override
|
||||
@Nullable
|
||||
public ProblemDescriptor[] checkMethod(@NotNull PsiMethod psiMethod, @NotNull InspectionManager manager, boolean isOnTheFly) {
|
||||
if (psiMethod instanceof JspHolderMethod) return null;
|
||||
if (psiMethod instanceof SyntheticElement) return null;
|
||||
if (IGNORE_DEPRECATED && (psiMethod.isDeprecated() || psiMethod.getContainingClass().isDeprecated())) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,6 @@ import com.intellij.openapi.util.Iconable;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.pom.Navigatable;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspHolderMethod;
|
||||
import com.intellij.psi.presentation.java.ClassPresentationUtil;
|
||||
import com.intellij.psi.util.PsiFormatUtil;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
@@ -125,7 +124,7 @@ public final class CallHierarchyNodeDescriptor extends HierarchyNodeDescriptor i
|
||||
mainTextAttributes = new TextAttributes(myColor, null, null, null, Font.PLAIN);
|
||||
}
|
||||
if (enclosingElement instanceof PsiMethod) {
|
||||
if (enclosingElement instanceof JspHolderMethod) {
|
||||
if (enclosingElement instanceof SyntheticElement) {
|
||||
PsiFile file = enclosingElement.getContainingFile();
|
||||
myHighlightedText.getEnding().addText(file != null ? file.getName() : IdeBundle.message("node.call.hierarchy.unknown.jsp"), mainTextAttributes);
|
||||
}
|
||||
|
||||
+2
-6
@@ -28,11 +28,7 @@ import com.intellij.openapi.vfs.ReadonlyStatusHandler;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.wm.ToolWindowManager;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.PsiSubstitutor;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspClass;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.MethodSignature;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
|
||||
@@ -151,7 +147,7 @@ abstract class OverrideImplementMethodAction extends AnAction {
|
||||
|
||||
private static boolean canImplementOverride(final MethodHierarchyNodeDescriptor descriptor, final MethodHierarchyBrowser methodHierarchyBrowser, final boolean toImplement) {
|
||||
final PsiClass psiClass = descriptor.getPsiClass();
|
||||
if (psiClass == null || psiClass instanceof JspClass) return false;
|
||||
if (psiClass == null || psiClass instanceof PsiSyntheticClass) return false;
|
||||
final PsiMethod baseMethod = methodHierarchyBrowser.getBaseMethod();
|
||||
if (baseMethod == null) return false;
|
||||
final MethodSignature signature = baseMethod.getSignature(PsiSubstitutor.EMPTY);
|
||||
|
||||
+2
-3
@@ -29,7 +29,6 @@ import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.jsp.JspFile;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -47,7 +46,7 @@ public class ClassesTreeStructureProvider implements SelectableTreeStructureProv
|
||||
ArrayList<AbstractTreeNode> result = new ArrayList<AbstractTreeNode>();
|
||||
for (final AbstractTreeNode child : children) {
|
||||
Object o = child.getValue();
|
||||
if (o instanceof PsiClassOwner && !(o instanceof JspFile)) {
|
||||
if (o instanceof PsiClassOwner && !(o instanceof ServerPageFile)) {
|
||||
final ViewSettings settings1 = ((ProjectViewNode)parent).getSettings();
|
||||
final PsiClassOwner classOwner = (PsiClassOwner)o;
|
||||
final VirtualFile file = classOwner.getVirtualFile();
|
||||
@@ -181,6 +180,6 @@ public class ClassesTreeStructureProvider implements SelectableTreeStructureProv
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+4
-2
@@ -24,7 +24,6 @@ import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspHolderMethod;
|
||||
import com.intellij.psi.search.searches.SuperMethodsSearch;
|
||||
import com.intellij.psi.util.MethodSignatureBackedByPsiMethod;
|
||||
import com.intellij.psi.util.PsiFormatUtil;
|
||||
@@ -45,11 +44,12 @@ public class PsiMethodTreeElement extends JavaClassTreeElementBase<PsiMethod> im
|
||||
super(isInherited, method);
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public Collection<StructureViewTreeElement> getChildrenBase() {
|
||||
final ArrayList<StructureViewTreeElement> result = new ArrayList<StructureViewTreeElement>();
|
||||
final PsiMethod element = getElement();
|
||||
if (element == null || element instanceof JspHolderMethod) return result;
|
||||
if (element == null || element instanceof SyntheticElement) return result;
|
||||
|
||||
final TextRange range = element.getTextRange();
|
||||
if (range == null) return result;
|
||||
@@ -72,6 +72,7 @@ public class PsiMethodTreeElement extends JavaClassTreeElementBase<PsiMethod> im
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPresentableText() {
|
||||
String method = PsiFormatUtil.formatMethod(getElement(),
|
||||
PsiSubstitutor.EMPTY,
|
||||
@@ -126,6 +127,7 @@ public class PsiMethodTreeElement extends JavaClassTreeElementBase<PsiMethod> im
|
||||
return getElement();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAlphaSortKey() {
|
||||
final PsiMethod method = getElement();
|
||||
if (method != null) {
|
||||
|
||||
@@ -43,7 +43,6 @@ import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.jsp.JspFile;
|
||||
import com.intellij.util.PathsList;
|
||||
import com.intellij.util.containers.HashSet;
|
||||
import org.jdom.Element;
|
||||
@@ -348,7 +347,7 @@ public class JavadocConfiguration implements ModuleRunProfile, JDOMExternalizabl
|
||||
if (file instanceof PsiJavaFile) {
|
||||
final PsiJavaFile javaFile = (PsiJavaFile)file;
|
||||
final String packageName = javaFile.getPackageName();
|
||||
if (containsPackagePrefix(module, packageName) || (packageName.length() == 0 && !(javaFile instanceof JspFile)) || !myUsePackageNotation) {
|
||||
if (containsPackagePrefix(module, packageName) || (packageName.length() == 0 && !(javaFile instanceof ServerPageFile)) || !myUsePackageNotation) {
|
||||
mySourceFiles.add(FileUtil.toSystemIndependentName(fileOrDir.getPath()));
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -20,11 +20,11 @@ import com.intellij.formatting.alignment.AlignmentStrategy;
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.JavaTokenType;
|
||||
import com.intellij.psi.PsiSyntheticClass;
|
||||
import com.intellij.psi.TokenType;
|
||||
import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
|
||||
import com.intellij.psi.formatter.FormatterUtil;
|
||||
import com.intellij.psi.formatter.common.AbstractBlock;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspClass;
|
||||
import com.intellij.psi.impl.source.tree.JavaDocElementType;
|
||||
import com.intellij.psi.impl.source.tree.JavaElementType;
|
||||
import com.intellij.psi.impl.source.tree.StdTokenSets;
|
||||
@@ -59,7 +59,7 @@ public class CodeBlockBlock extends AbstractJavaBlock {
|
||||
/**
|
||||
* There is a possible case that 'implements' section is incomplete (e.g. ends with comma). We may want to align lbrace
|
||||
* to the comma then.
|
||||
*
|
||||
*
|
||||
* @param alignment block alignment
|
||||
* @param baseNode base AST node
|
||||
* @return alignment strategy to use for the given node
|
||||
@@ -86,7 +86,7 @@ public class CodeBlockBlock extends AbstractJavaBlock {
|
||||
}
|
||||
return AlignmentStrategy.wrap(alignment);
|
||||
}
|
||||
|
||||
|
||||
private boolean isSwitchCodeBlock() {
|
||||
return myNode.getTreeParent().getElementType() == JavaElementType.SWITCH_STATEMENT;
|
||||
}
|
||||
@@ -108,7 +108,7 @@ public class CodeBlockBlock extends AbstractJavaBlock {
|
||||
|
||||
int state = BEFORE_FIRST;
|
||||
|
||||
if (myNode.getPsi() instanceof JspClass) {
|
||||
if (myNode.getPsi() instanceof PsiSyntheticClass) {
|
||||
state = INSIDE_BODY;
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ public class CodeBlockBlock extends AbstractJavaBlock {
|
||||
}
|
||||
return StringUtil.countNewLines(whiteSpaceCandidate.getChars()) > 0 ? myAlignment : defaultAlignment;
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
private ASTNode processCaseAndStatementAfter(final ArrayList<Block> result,
|
||||
ASTNode child,
|
||||
|
||||
@@ -17,10 +17,7 @@ package com.intellij.psi.impl.search;
|
||||
|
||||
import com.intellij.lang.java.JavaParserDefinition;
|
||||
import com.intellij.lexer.Lexer;
|
||||
import com.intellij.psi.JavaDocTokenType;
|
||||
import com.intellij.psi.JavaTokenType;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiJavaFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.tree.StdTokenSets;
|
||||
import com.intellij.psi.jsp.JspFile;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
@@ -48,7 +45,7 @@ public class JavaIndexPatternBuilder implements IndexPatternBuilder {
|
||||
@Override
|
||||
@Nullable
|
||||
public TokenSet getCommentTokenSet(final PsiFile file) {
|
||||
if (file instanceof PsiJavaFile && !(file instanceof JspFile)) {
|
||||
if (file instanceof PsiJavaFile && !(file instanceof ServerPageFile)) {
|
||||
return TokenSet.orSet(StdTokenSets.COMMENT_BIT_SET, XML_COMMENT_BIT_SET, JavaDocTokenType.ALL_JAVADOC_TOKENS, XML_DATA_CHARS);
|
||||
}
|
||||
return null;
|
||||
|
||||
+1
-2
@@ -41,7 +41,6 @@ import com.intellij.psi.impl.source.resolve.ResolveCache;
|
||||
import com.intellij.psi.impl.source.resolve.reference.impl.GenericReference;
|
||||
import com.intellij.psi.infos.CandidateInfo;
|
||||
import com.intellij.psi.infos.ClassCandidateInfo;
|
||||
import com.intellij.psi.jsp.JspFile;
|
||||
import com.intellij.psi.scope.JavaScopeProcessorEvent;
|
||||
import com.intellij.psi.scope.PsiScopeProcessor;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
@@ -413,7 +412,7 @@ public class JavaClassReference extends GenericReference implements PsiJavaRefer
|
||||
PsiFile containingFile = psiElement.getContainingFile();
|
||||
|
||||
if (containingFile instanceof PsiJavaFile) {
|
||||
if (containingFile instanceof JspFile) {
|
||||
if (containingFile instanceof ServerPageFile) {
|
||||
containingFile = containingFile.getViewProvider().getPsi(JavaLanguage.INSTANCE);
|
||||
if (containingFile == null) return JavaResolveResult.EMPTY;
|
||||
}
|
||||
|
||||
+2
-3
@@ -31,7 +31,6 @@ import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.file.JavaDirectoryServiceImpl;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspClass;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.refactoring.JavaRefactoringSettings;
|
||||
import com.intellij.refactoring.RefactoringBundle;
|
||||
@@ -81,12 +80,12 @@ public class JavaMoveClassesOrPackagesHandler extends MoveHandlerDelegate {
|
||||
final PsiClass[] classes = ((PsiClassOwner)element).getClasses();
|
||||
if (classes.length == 0) return true;
|
||||
for (PsiClass aClass : classes) {
|
||||
if (aClass instanceof JspClass) return true;
|
||||
if (aClass instanceof PsiSyntheticClass) return true;
|
||||
}
|
||||
parentFile = (PsiFile)element;
|
||||
}
|
||||
else {
|
||||
if (element instanceof JspClass) return true;
|
||||
if (element instanceof PsiSyntheticClass) return true;
|
||||
if (!(element instanceof PsiClass)) return true;
|
||||
if (element instanceof PsiAnonymousClass) return true;
|
||||
if (((PsiClass)element).getContainingClass() != null) return true;
|
||||
|
||||
+9
-6
@@ -15,27 +15,28 @@
|
||||
*/
|
||||
package com.intellij.refactoring.move.moveInstanceMethod;
|
||||
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspHolderMethod;
|
||||
import com.intellij.refactoring.move.MoveHandlerDelegate;
|
||||
import com.intellij.refactoring.move.MoveCallback;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.refactoring.move.MoveCallback;
|
||||
import com.intellij.refactoring.move.MoveHandlerDelegate;
|
||||
import com.intellij.refactoring.move.moveClassesOrPackages.JavaMoveClassesOrPackagesHandler;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class MoveInstanceMethodHandlerDelegate extends MoveHandlerDelegate {
|
||||
@Override
|
||||
public boolean canMove(final PsiElement[] elements, @Nullable final PsiElement targetContainer) {
|
||||
if (elements.length != 1) return false;
|
||||
PsiElement element = elements [0];
|
||||
if (!(element instanceof PsiMethod)) return false;
|
||||
if (element instanceof JspHolderMethod) return false;
|
||||
if (element instanceof SyntheticElement) return false;
|
||||
PsiMethod method = (PsiMethod) element;
|
||||
if (method.hasModifierProperty(PsiModifier.STATIC)) return false;
|
||||
return super.canMove(elements, targetContainer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValidTarget(final PsiElement psiElement, PsiElement[] sources) {
|
||||
for (PsiElement source : sources) {
|
||||
if (JavaMoveClassesOrPackagesHandler.invalid4Move(source)) return false;
|
||||
@@ -43,6 +44,7 @@ public class MoveInstanceMethodHandlerDelegate extends MoveHandlerDelegate {
|
||||
return psiElement instanceof PsiClass && !(psiElement instanceof PsiAnonymousClass);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean tryToMove(final PsiElement element, final Project project, final DataContext dataContext, final PsiReference reference,
|
||||
final Editor editor) {
|
||||
if (element instanceof PsiMethod) {
|
||||
@@ -55,6 +57,7 @@ public class MoveInstanceMethodHandlerDelegate extends MoveHandlerDelegate {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doMove(final Project project, final PsiElement[] elements, final PsiElement targetContainer, final MoveCallback callback) {
|
||||
new MoveInstanceMethodHandler().invoke(project, elements, null);
|
||||
}
|
||||
|
||||
+1
-2
@@ -19,7 +19,6 @@ import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspHolderMethod;
|
||||
import com.intellij.refactoring.move.MoveCallback;
|
||||
import com.intellij.refactoring.move.MoveHandlerDelegate;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -52,7 +51,7 @@ public class MoveMembersHandler extends MoveHandlerDelegate {
|
||||
private static boolean isFieldOrStaticMethod(final PsiElement element) {
|
||||
if (element instanceof PsiField) return true;
|
||||
if (element instanceof PsiMethod) {
|
||||
if (element instanceof JspHolderMethod) return false;
|
||||
if (element instanceof SyntheticElement) return false;
|
||||
return ((PsiMethod) element).hasModifierProperty(PsiModifier.STATIC);
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -25,7 +25,6 @@ import com.intellij.openapi.util.Iconable;
|
||||
import com.intellij.openapi.vcs.FileStatus;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.jsp.JspFile;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.usages.Usage;
|
||||
@@ -53,7 +52,7 @@ public class ClassGroupingRule implements UsageGroupingRule {
|
||||
|
||||
PsiFile topLevelFile = InjectedLanguageManager.getInstance(containingFile.getProject()).getTopLevelFile(containingFile);
|
||||
|
||||
if (!(topLevelFile instanceof PsiJavaFile) || topLevelFile instanceof JspFile) {
|
||||
if (!(topLevelFile instanceof PsiJavaFile) || topLevelFile instanceof ServerPageFile) {
|
||||
return null;
|
||||
}
|
||||
PsiElement containingClass = topLevelFile == containingFile ? psiElement : InjectedLanguageManager
|
||||
|
||||
@@ -18,7 +18,7 @@ package com.intellij.usages.impl.rules;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiJavaFile;
|
||||
import com.intellij.psi.jsp.JspFile;
|
||||
import com.intellij.psi.ServerPageFile;
|
||||
import com.intellij.usages.Usage;
|
||||
import com.intellij.usages.UsageGroup;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -28,11 +28,12 @@ public class NonJavaFileGroupingRule extends FileGroupingRule {
|
||||
super(project);
|
||||
}
|
||||
|
||||
@Override
|
||||
public UsageGroup groupUsage(@NotNull Usage usage) {
|
||||
final FileUsageGroup usageGroup = (FileUsageGroup)super.groupUsage(usage);
|
||||
if (usageGroup != null) {
|
||||
final PsiFile psiFile = usageGroup.getPsiFile();
|
||||
if (psiFile instanceof PsiJavaFile && !(psiFile instanceof JspFile)) {
|
||||
if (psiFile instanceof PsiJavaFile && !(psiFile instanceof ServerPageFile)) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.vfs.*;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.jsp.jspJava.JspClass;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import com.intellij.psi.javadoc.PsiDocTag;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
@@ -245,7 +244,7 @@ public class TestNGUtil
|
||||
private static boolean isBrokenPsiClass(PsiClass psiClass) {
|
||||
return (psiClass == null
|
||||
|| psiClass instanceof PsiAnonymousClass
|
||||
|| psiClass instanceof JspClass);
|
||||
|| psiClass instanceof PsiSyntheticClass);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user