mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PsiJavaParserFacade no longer extends PsiParserFacade
This commit is contained in:
@@ -82,8 +82,8 @@ public class GenerateMembersUtil {
|
||||
// }
|
||||
whiteSpace += "\n";
|
||||
}
|
||||
PsiElementFactory factory = JavaPsiFacade.getInstance(file.getProject()).getElementFactory();
|
||||
final ASTNode singleNewLineWhitespace = factory.createWhiteSpaceFromText(whiteSpace).getNode();
|
||||
final PsiParserFacade parserFacade = PsiParserFacade.SERVICE.getInstance(file.getProject());
|
||||
final ASTNode singleNewLineWhitespace = parserFacade.createWhiteSpaceFromText(whiteSpace).getNode();
|
||||
if (singleNewLineWhitespace != null) {
|
||||
spaceNode.getTreeParent().replaceChild(spaceNode, singleNewLineWhitespace); // See http://jetbrains.net/jira/browse/IDEADEV-12837
|
||||
}
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ class JavaWithBlockSurrounder extends JavaStatementsSurrounder{
|
||||
blockStatement = (PsiBlockStatement)container.addBefore(blockStatement, statements[0]);
|
||||
|
||||
PsiCodeBlock body = blockStatement.getCodeBlock();
|
||||
SurroundWithUtil.indentCommentIfNecessary(body, statements, factory);
|
||||
SurroundWithUtil.indentCommentIfNecessary(body, statements);
|
||||
body.addRange(statements[0], statements[statements.length - 1]);
|
||||
container.deleteChildRange(statements[0], statements[statements.length - 1]);
|
||||
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ class JavaWithDoWhileSurrounder extends JavaStatementsSurrounder{
|
||||
return null;
|
||||
}
|
||||
PsiCodeBlock bodyBlock = ((PsiBlockStatement)body).getCodeBlock();
|
||||
SurroundWithUtil.indentCommentIfNecessary(bodyBlock, statements, factory);
|
||||
SurroundWithUtil.indentCommentIfNecessary(bodyBlock, statements);
|
||||
bodyBlock.addRange(statements[0], statements[statements.length - 1]);
|
||||
container.deleteChildRange(statements[0], statements[statements.length - 1]);
|
||||
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ class JavaWithForSurrounder extends JavaStatementsSurrounder{
|
||||
return null;
|
||||
}
|
||||
PsiCodeBlock bodyBlock = ((PsiBlockStatement)body).getCodeBlock();
|
||||
SurroundWithUtil.indentCommentIfNecessary(bodyBlock, statements, factory);
|
||||
SurroundWithUtil.indentCommentIfNecessary(bodyBlock, statements);
|
||||
bodyBlock.addRange(statements[0], statements[statements.length - 1]);
|
||||
container.deleteChildRange(statements[0], statements[statements.length - 1]);
|
||||
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ class JavaWithIfElseSurrounder extends JavaStatementsSurrounder{
|
||||
return null;
|
||||
}
|
||||
PsiCodeBlock thenBlock = ((PsiBlockStatement)thenBranch).getCodeBlock();
|
||||
SurroundWithUtil.indentCommentIfNecessary(thenBlock, statements, factory);
|
||||
SurroundWithUtil.indentCommentIfNecessary(thenBlock, statements);
|
||||
thenBlock.addRange(statements[0], statements[statements.length - 1]);
|
||||
container.deleteChildRange(statements[0], statements[statements.length - 1]);
|
||||
ifStatement = CodeInsightUtilBase.forcePsiPostprocessAndRestoreElement(ifStatement);
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ public class JavaWithIfSurrounder extends JavaStatementsSurrounder{
|
||||
final PsiStatement thenBranch = ifStatement.getThenBranch();
|
||||
if (thenBranch != null) {
|
||||
PsiCodeBlock thenBlock = ((PsiBlockStatement)thenBranch).getCodeBlock();
|
||||
SurroundWithUtil.indentCommentIfNecessary(thenBlock, statements, factory);
|
||||
SurroundWithUtil.indentCommentIfNecessary(thenBlock, statements);
|
||||
thenBlock.addRange(statements[0], statements[statements.length - 1]);
|
||||
container.deleteChildRange(statements[0], statements[statements.length - 1]);
|
||||
}
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ class JavaWithSynchronizedSurrounder extends JavaStatementsSurrounder{
|
||||
if (synchronizedBlock == null) {
|
||||
return null;
|
||||
}
|
||||
SurroundWithUtil.indentCommentIfNecessary(synchronizedBlock, statements, factory);
|
||||
SurroundWithUtil.indentCommentIfNecessary(synchronizedBlock, statements);
|
||||
synchronizedBlock.addRange(statements[0], statements[statements.length - 1]);
|
||||
container.deleteChildRange(statements[0], statements[statements.length - 1]);
|
||||
|
||||
|
||||
+1
-1
@@ -72,7 +72,7 @@ public class JavaWithTryCatchSurrounder extends JavaStatementsSurrounder {
|
||||
tryStatement = (PsiTryStatement)container.addAfter(tryStatement, statements[statements.length - 1]);
|
||||
|
||||
PsiCodeBlock tryBlock = tryStatement.getTryBlock();
|
||||
SurroundWithUtil.indentCommentIfNecessary(tryBlock, statements, factory);
|
||||
SurroundWithUtil.indentCommentIfNecessary(tryBlock, statements);
|
||||
tryBlock.addRange(statements[0], statements[statements.length - 1]);
|
||||
|
||||
PsiCatchSection[] catchSections = tryStatement.getCatchSections();
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ class JavaWithTryFinallySurrounder extends JavaStatementsSurrounder{
|
||||
if (tryBlock == null) {
|
||||
return null;
|
||||
}
|
||||
SurroundWithUtil.indentCommentIfNecessary(tryBlock, statements, factory);
|
||||
SurroundWithUtil.indentCommentIfNecessary(tryBlock, statements);
|
||||
tryBlock.addRange(statements[0], statements[statements.length - 1]);
|
||||
container.deleteChildRange(statements[0], statements[statements.length - 1]);
|
||||
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ class JavaWithWhileSurrounder extends JavaStatementsSurrounder{
|
||||
return null;
|
||||
}
|
||||
PsiCodeBlock bodyBlock = ((PsiBlockStatement)body).getCodeBlock();
|
||||
SurroundWithUtil.indentCommentIfNecessary(bodyBlock, statements, factory);
|
||||
SurroundWithUtil.indentCommentIfNecessary(bodyBlock, statements);
|
||||
bodyBlock.addRange(statements[0], statements[statements.length - 1]);
|
||||
container.deleteChildRange(statements[0], statements[statements.length - 1]);
|
||||
|
||||
|
||||
+4
-6
@@ -154,11 +154,8 @@ public class SurroundWithUtil {
|
||||
*
|
||||
* @param container code block that surrounds target statements
|
||||
* @param statements target statements being surrounded
|
||||
* @param factory factory to use for the new white space element construction
|
||||
*/
|
||||
public static void indentCommentIfNecessary(@NotNull PsiCodeBlock container, @Nullable PsiElement[] statements,
|
||||
@NotNull PsiElementFactory factory)
|
||||
{
|
||||
public static void indentCommentIfNecessary(@NotNull PsiCodeBlock container, @Nullable PsiElement[] statements) {
|
||||
if (statements == null || statements.length <= 0) {
|
||||
return;
|
||||
}
|
||||
@@ -189,6 +186,7 @@ public class SurroundWithUtil {
|
||||
PsiElement codeBlockWsElement = null;
|
||||
ASTNode codeBlockWsNode = null;
|
||||
boolean lbraceFound = false;
|
||||
final PsiParserFacade parserFacade = PsiParserFacade.SERVICE.getInstance(container.getProject());
|
||||
for (PsiElement codeBlockChild = container.getFirstChild(); codeBlockChild != null; codeBlockChild = codeBlockChild.getNextSibling()) {
|
||||
ASTNode childNode = codeBlockChild.getNode();
|
||||
if (childNode == null) {
|
||||
@@ -227,11 +225,11 @@ public class SurroundWithUtil {
|
||||
if (existingWhiteSpaceEndOffset < existingWhiteSpaceText.length()) {
|
||||
newWsText = existingWhiteSpaceText.subSequence(0, existingWhiteSpaceEndOffset + 1).toString() + newWsText;
|
||||
}
|
||||
PsiElement indentElement = factory.createWhiteSpaceFromText(newWsText);
|
||||
PsiElement indentElement = parserFacade.createWhiteSpaceFromText(newWsText);
|
||||
codeBlockWsElement.replace(indentElement);
|
||||
}
|
||||
else {
|
||||
PsiElement indentElement = factory.createWhiteSpaceFromText(text.subSequence(text.length() - indent, text.length()).toString());
|
||||
PsiElement indentElement = parserFacade.createWhiteSpaceFromText(text.subSequence(text.length() - indent, text.length()).toString());
|
||||
container.add(indentElement);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -730,10 +730,6 @@ public class PsiElementFactoryImpl extends PsiJavaParserFacadeImpl implements Ps
|
||||
return psiCatchSection;
|
||||
}
|
||||
|
||||
private static void markGenerated(final PsiElement element) {
|
||||
((TreeElement)element.getNode()).acceptTree(new GeneratedMarkerVisitor());
|
||||
}
|
||||
|
||||
private static PsiImportStatementBase extractImport(final PsiJavaFile aFile, final boolean isStatic) {
|
||||
final PsiImportList importList = aFile.getImportList();
|
||||
assert importList != null : aFile;
|
||||
|
||||
@@ -281,7 +281,7 @@ public class PsiJavaParserFacadeImpl extends PsiParserFacadeImpl implements PsiJ
|
||||
|
||||
final PsiTypeElement element = createTypeElementFromText(text, context);
|
||||
if (markAsCopy) {
|
||||
((TreeElement)element.getNode()).acceptTree(new GeneratedMarkerVisitor());
|
||||
markGenerated(element);
|
||||
}
|
||||
return element.getType();
|
||||
}
|
||||
@@ -344,7 +344,8 @@ public class PsiJavaParserFacadeImpl extends PsiParserFacadeImpl implements PsiJ
|
||||
@NotNull
|
||||
@Override
|
||||
public PsiTypeParameter createTypeParameterFromText(@NotNull final String text, @Nullable final PsiElement context) throws IncorrectOperationException {
|
||||
final DummyHolder holder = DummyHolderFactory.createHolder(myManager, new JavaDummyElement(text, TYPE_PARAMETER, level(context)), context);
|
||||
final DummyHolder holder = DummyHolderFactory.createHolder(myManager, new JavaDummyElement(text, TYPE_PARAMETER, level(context)),
|
||||
context);
|
||||
final PsiElement element = SourceTreeToPsiMap.treeElementToPsi(holder.getTreeElement().getFirstChildNode());
|
||||
if (!(element instanceof PsiTypeParameter)) {
|
||||
throw new IncorrectOperationException("Incorrect type parameter \"" + text + "\".");
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
/**
|
||||
* @author max
|
||||
*/
|
||||
public interface PsiJavaParserFacade extends PsiParserFacade {
|
||||
public interface PsiJavaParserFacade {
|
||||
/**
|
||||
* Creates a JavaDoc tag from the specified text.
|
||||
*
|
||||
|
||||
@@ -46,6 +46,7 @@ public class PsiParserFacadeImpl implements PsiParserFacade {
|
||||
final FileElement holderElement = DummyHolderFactory.createHolder(myManager, null).getTreeElement();
|
||||
final LeafElement newElement = ASTFactory.leaf(TokenType.WHITE_SPACE, holderElement.getCharTable().intern(text));
|
||||
holderElement.rawAddChildren(newElement);
|
||||
markGenerated(newElement.getPsi());
|
||||
return newElement.getPsi();
|
||||
}
|
||||
|
||||
@@ -99,4 +100,8 @@ public class PsiParserFacadeImpl implements PsiParserFacade {
|
||||
|
||||
return PsiFileFactory.getInstance(myManager.getProject()).createFileFromText(fileType, fileName, text, 0, text.length());
|
||||
}
|
||||
|
||||
protected static void markGenerated(final PsiElement element) {
|
||||
((TreeElement)element.getNode()).acceptTree(new GeneratedMarkerVisitor());
|
||||
}
|
||||
}
|
||||
|
||||
+7
-5
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.siyeh.ipp.comment;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
@@ -32,11 +33,11 @@ public class ChangeToEndOfLineCommentIntention extends Intention {
|
||||
public void processIntention(@NotNull PsiElement element)
|
||||
throws IncorrectOperationException {
|
||||
final PsiComment comment = (PsiComment)element;
|
||||
final PsiManager manager = comment.getManager();
|
||||
final CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(manager.getProject());
|
||||
final Project project = comment.getProject();
|
||||
final CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(project);
|
||||
final PsiElement parent = comment.getParent();
|
||||
assert parent != null;
|
||||
final PsiElementFactory factory = JavaPsiFacade.getInstance(manager.getProject()).getElementFactory();
|
||||
final PsiElementFactory factory = JavaPsiFacade.getInstance(project).getElementFactory();
|
||||
final String commentText = comment.getText();
|
||||
final PsiElement whitespace = comment.getNextSibling();
|
||||
final String text = commentText.substring(2, commentText.length() - 2);
|
||||
@@ -47,8 +48,9 @@ public class ChangeToEndOfLineCommentIntention extends Intention {
|
||||
parent);
|
||||
parent.addAfter(nextComment, comment);
|
||||
if (whitespace != null) {
|
||||
final PsiElement newWhiteSpace =
|
||||
factory.createWhiteSpaceFromText(whitespace.getText());
|
||||
final PsiParserFacade parserFacade = PsiParserFacade.SERVICE.getInstance(project);
|
||||
final PsiElement newWhiteSpace =
|
||||
parserFacade.createWhiteSpaceFromText(whitespace.getText());
|
||||
parent.addAfter(newWhiteSpace, comment);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -90,7 +90,7 @@ public class SplitDeclarationAndInitializationIntention extends Intention {
|
||||
|
||||
// add some whitespace between the field and the class initializer
|
||||
final PsiElement whitespace =
|
||||
elementFactory.createWhiteSpaceFromText("\n");
|
||||
PsiParserFacade.SERVICE.getInstance(project).createWhiteSpaceFromText("\n");
|
||||
containingClass.addAfter(whitespace, field);
|
||||
}
|
||||
final PsiCodeBlock body = classInitializer.getBody();
|
||||
|
||||
Reference in New Issue
Block a user