From f742e0dc5ddf53dcbe5d104f4e5793a183034766 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Tue, 14 Dec 2010 22:08:57 +0300 Subject: [PATCH] Don't pass leading spaces to Java parser facade --- .../VariableAccessFromInnerClassFix.java | 2 +- .../extractclass/ExtractClassProcessor.java | 5 ++-- .../generator/GroovyToJavaGenerator.java | 28 +++++++++++-------- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableAccessFromInnerClassFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableAccessFromInnerClassFix.java index 5b5355f5f048..56b34711ed8b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableAccessFromInnerClassFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableAccessFromInnerClassFix.java @@ -176,7 +176,7 @@ public class VariableAccessFromInnerClassFix implements IntentionAction { variableDeclarationStatement = factory.createVariableDeclarationStatement(variable.getName(), newType, init); } else { - PsiExpression init = factory.createExpressionFromText(" { " + initializer.getText() + " }", variable); + PsiExpression init = factory.createExpressionFromText("{ " + initializer.getText() + " }", variable); variableDeclarationStatement = factory.createVariableDeclarationStatement(variable.getName(), newType, init); } PsiVariable newVariable = (PsiVariable)variableDeclarationStatement.getDeclaredElements()[0]; diff --git a/java/java-impl/src/com/intellij/refactoring/extractclass/ExtractClassProcessor.java b/java/java-impl/src/com/intellij/refactoring/extractclass/ExtractClassProcessor.java index f834fb0292b4..19f0c1df49c4 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractclass/ExtractClassProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/extractclass/ExtractClassProcessor.java @@ -395,7 +395,7 @@ public class ExtractClassProcessor extends FixableUsagesRefactoringProcessor { final CodeStyleManager codeStyleManager = manager.getCodeStyleManager(); @NonNls final StringBuilder fieldBuffer = new StringBuilder(); final String delegateVisibility = calculateDelegateVisibility(); - fieldBuffer.append(delegateVisibility).append(' '); + if (delegateVisibility.length() > 0) fieldBuffer.append(delegateVisibility).append(' '); fieldBuffer.append("final "); final String fullyQualifiedName = StringUtil.getQualifiedName(newPackageName, newClassName); fieldBuffer.append(fullyQualifiedName); @@ -408,8 +408,7 @@ public class ExtractClassProcessor extends FixableUsagesRefactoringProcessor { } fieldBuffer.append(' '); fieldBuffer.append(delegateFieldName); - fieldBuffer.append('='); - fieldBuffer.append("new ").append(fullyQualifiedName); + fieldBuffer.append(" = new ").append(fullyQualifiedName); if (!typeParams.isEmpty()) { fieldBuffer.append('<'); for (PsiTypeParameter typeParameter : typeParams) { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/compiler/generator/GroovyToJavaGenerator.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/compiler/generator/GroovyToJavaGenerator.java index 4e54bcb542c3..27ed3f58f051 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/compiler/generator/GroovyToJavaGenerator.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/compiler/generator/GroovyToJavaGenerator.java @@ -288,7 +288,7 @@ public class GroovyToJavaGenerator { } if (method instanceof GrConstructor) { - writeConstructor(text, (GrConstructor)method, aClass.isEnum()); + writeConstructor(text, (GrConstructor)method, aClass.isEnum(), true); continue; } @@ -305,7 +305,7 @@ public class GroovyToJavaGenerator { MethodSignature signature = MethodSignatureUtil.createMethodSignature(method.getName(), parameterTypes, method.getTypeParameters(), PsiSubstitutor.EMPTY); if (methodSignatures.add(signature)) { - writeMethod(text, method, parametersCopy); + writeMethod(text, method, parametersCopy, true); } PsiParameter parameter = parameters[i]; @@ -317,7 +317,7 @@ public class GroovyToJavaGenerator { else { MethodSignature signature = method.getSignature(PsiSubstitutor.EMPTY); if (methodSignatures.add(signature)) { - writeMethod(text, method, parameters); + writeMethod(text, method, parameters, true); } } } @@ -407,7 +407,7 @@ public class GroovyToJavaGenerator { if (block != null) { text.append("{\n"); for (PsiMethod method : block.getMethods()) { - writeMethod(text, method, method.getParameterList().getParameters()); + writeMethod(text, method, method.getParameterList().getParameters(), true); } text.append("}"); } @@ -434,9 +434,11 @@ public class GroovyToJavaGenerator { } } - private void writeConstructor(final StringBuffer text, final GrConstructor constructor, boolean isEnum) { - text.append("\n"); - text.append(" "); + private void writeConstructor(final StringBuffer text, final GrConstructor constructor, boolean isEnum, final boolean prefix) { + if (prefix) { + text.append("\n"); + text.append(" "); + } if (!isEnum) { text.append("public "); //writeMethodModifiers(text, constructor.getModifierList(), JAVA_MODIFIERS); @@ -562,15 +564,15 @@ public class GroovyToJavaGenerator { final GroovyToJavaGenerator generator = new GroovyToJavaGenerator(method.getProject(), null, Collections.emptyList()); final StringBuffer buffer = new StringBuffer(); if (method instanceof GrConstructor) { - generator.writeConstructor(buffer, (GrConstructor)method, false); + generator.writeConstructor(buffer, (GrConstructor)method, false, false); } else { - generator.writeMethod(buffer, method, method.getParameterList().getParameters()); + generator.writeMethod(buffer, method, method.getParameterList().getParameters(), false); } return buffer.toString(); } - private void writeMethod(StringBuffer text, PsiMethod method, final PsiParameter[] parameters) { + private void writeMethod(StringBuffer text, PsiMethod method, final PsiParameter[] parameters, final boolean prefix) { if (method == null) return; String name = method.getName(); if (!JavaPsiFacade.getInstance(method.getProject()).getNameHelper().isIdentifier(name)) @@ -580,8 +582,10 @@ public class GroovyToJavaGenerator { PsiModifierList modifierList = method.getModifierList(); - text.append("\n"); - text.append(" "); + if (prefix) { + text.append("\n"); + text.append(" "); + } writeMethodModifiers(text, modifierList, JAVA_MODIFIERS); if (method.hasTypeParameters()) { appendTypeParameters(text, method);