mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEADEV-393
This commit is contained in:
+27
@@ -0,0 +1,27 @@
|
||||
package com.intellij.codeInsight.editorActions.smartEnter;
|
||||
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.psi.PsiArrayInitializerExpression;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
* User: max
|
||||
* Date: Sep 5, 2003
|
||||
* Time: 7:24:03 PM
|
||||
* To change this template use Options | File Templates.
|
||||
*/
|
||||
public class MissingArrayInitializerBraceFixer implements Fixer {
|
||||
public void apply(Editor editor, SmartEnterProcessor processor, PsiElement psiElement) throws IncorrectOperationException {
|
||||
if (!(psiElement instanceof PsiArrayInitializerExpression)) return;
|
||||
PsiArrayInitializerExpression expr = (PsiArrayInitializerExpression)psiElement;
|
||||
|
||||
final Document doc = editor.getDocument();
|
||||
|
||||
if (!expr.getText().endsWith("}")) {
|
||||
doc.insertString(expr.getTextRange().getEndOffset(), "}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -37,6 +37,7 @@ public class SmartEnterProcessor {
|
||||
ourFixers.add(new DoWhileConditionFixer());
|
||||
ourFixers.add(new BlockBraceFixer());
|
||||
ourFixers.add(new MissingIfBranchesFixer());
|
||||
ourFixers.add(new MissingArrayInitializerBraceFixer());
|
||||
ourFixers.add(new MissingWhileBodyFixer());
|
||||
ourFixers.add(new MissingForBodyFixer());
|
||||
ourFixers.add(new MissingForeachBodyFixer());
|
||||
|
||||
@@ -11,7 +11,6 @@ import com.intellij.psi.impl.source.tree.*;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.psi.tree.TokenSet;
|
||||
import com.intellij.util.CharTable;
|
||||
import com.intellij.lang.ASTNode;
|
||||
|
||||
public class ExpressionParsing extends Parsing {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.psi.impl.source.parsing.ExpressionParsing");
|
||||
@@ -856,10 +855,9 @@ public class ExpressionParsing extends Parsing {
|
||||
TreeElement arg = parseExpression(lexer);
|
||||
if (arg == null) {
|
||||
if (lexer.getTokenType() != COMMA) {
|
||||
CompositeElement errorElement = Factory.createErrorElement("Unexpected token");
|
||||
TreeUtil.addChildren(errorElement, ParseUtil.createTokenElement(lexer, myContext.getCharTable()));
|
||||
lexer.advance();
|
||||
TreeUtil.addChildren(element, errorElement);
|
||||
TreeUtil.addChildren(element, Factory.createErrorElement("'}' expected"));
|
||||
element.putUserData(ParseUtil.UNCLOSED_ELEMENT_PROPERTY, "");
|
||||
return element;
|
||||
}
|
||||
else {
|
||||
TreeUtil.addChildren(element, Factory.createErrorElement("Expression expected"));
|
||||
|
||||
Reference in New Issue
Block a user