mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Just reformatting
This commit is contained in:
+55
@@ -0,0 +1,55 @@
|
||||
package com.siyeh.ipp.initialization;
|
||||
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.siyeh.ipp.base.Intention;
|
||||
import com.siyeh.ipp.base.PsiElementPredicate;
|
||||
|
||||
public class SplitDeclarationAndInitializationIntention extends Intention{
|
||||
protected PsiElementPredicate getElementPredicate(){
|
||||
return new SplitDeclarationAndInitializationPredicate();
|
||||
}
|
||||
|
||||
public String getText(){
|
||||
return "Split into declaration and initialization";
|
||||
}
|
||||
|
||||
public String getFamilyName(){
|
||||
return "Split Declaration And Initialization";
|
||||
}
|
||||
|
||||
public void invoke(Project project, Editor editor, PsiFile file)
|
||||
throws IncorrectOperationException{
|
||||
final PsiField field =
|
||||
(PsiField) findMatchingElement(file, editor);
|
||||
field.normalizeDeclaration();
|
||||
final PsiExpression initializer = field.getInitializer();
|
||||
final String initializerText = initializer.getText();
|
||||
final PsiManager psiManager = field.getManager();
|
||||
final PsiElementFactory elementFactory = psiManager.getElementFactory();
|
||||
PsiClassInitializer classInitializer =
|
||||
elementFactory.createClassInitializer();
|
||||
final PsiClass containingClass = field.getContainingClass();
|
||||
classInitializer = (PsiClassInitializer) containingClass.addAfter(classInitializer,
|
||||
field);
|
||||
final PsiCodeBlock body = classInitializer.getBody();
|
||||
final String initializationStatementText =
|
||||
field.getName() + " = " + initializerText + ';';
|
||||
final PsiExpressionStatement statement =
|
||||
(PsiExpressionStatement) elementFactory.createStatementFromText(
|
||||
initializationStatementText, body);
|
||||
body.add(statement);
|
||||
if(field.hasModifierProperty(PsiModifier.STATIC)){
|
||||
final PsiModifierList modifierList =
|
||||
classInitializer.getModifierList();
|
||||
modifierList.setModifierProperty(PsiModifier.STATIC, true);
|
||||
}
|
||||
initializer.delete();
|
||||
final CodeStyleManager codeStyleManager = psiManager.getCodeStyleManager();
|
||||
codeStyleManager.reformat(field);
|
||||
codeStyleManager.reformat(classInitializer);
|
||||
}
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.siyeh.ipp.initialization;
|
||||
|
||||
import com.siyeh.ipp.base.PsiElementPredicate;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiField;
|
||||
import com.intellij.psi.PsiExpression;
|
||||
|
||||
public class SplitDeclarationAndInitializationPredicate
|
||||
implements PsiElementPredicate{
|
||||
public boolean satisfiedBy(PsiElement element){
|
||||
if(!(element instanceof PsiField)){
|
||||
return false;
|
||||
}
|
||||
final PsiField field = (PsiField) element;
|
||||
final PsiExpression initializer = field.getInitializer();
|
||||
if(initializer == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
public class X {
|
||||
int i;
|
||||
{
|
||||
i = 65535;
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
public class X {
|
||||
<spot>int i = 65535;</spot>
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<body>
|
||||
<font face="verdana" size="-1">This intention splits a field declaration with
|
||||
initialization into a declaration and an initializer block.<br>
|
||||
</font>
|
||||
|
||||
<br><br>
|
||||
<font face="verdana" size="-2">Powered by IntentionPowerPack </font>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user