X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/formatter/CodeFormatter.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/formatter/CodeFormatter.java index 281ee1a..f5d3ea3 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/formatter/CodeFormatter.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/formatter/CodeFormatter.java @@ -511,14 +511,24 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { pendingSpace = false; } } + // don't linebreak empty array declarations + if (token == TokenNameRPAREN && arrayDeclarationCount > 0) { + if (previousCompilableToken == TokenNameLPAREN) { + pendingNewLines = 0; + } + } // Add pending new lines to the formatted source string. // Note: pending new lines are not added if the current token // is a single line comment or whitespace. // if the comment is between parenthesis, there is no blank line // preservation // (if it's a one-line comment, a blank line is added after it). - if (((pendingNewLines > 0 && (!isComment(token))) - || (newLinesInWhitespace > 0 && (openParenthesisCount <= 1 && isComment(token))) || (previousCompilableToken == TokenNameLBRACE && token == TokenNameRBRACE)) + if (( + (pendingNewLines > 0 && (!isComment(token))) + || (newLinesInWhitespace > 0 && (openParenthesisCount <= 1 && isComment(token))) + || (previousCompilableToken == TokenNameLBRACE && token == TokenNameRBRACE) + || (newLinesInWhitespace > 0 && previousCompilableToken == TokenNameDOT) + ) && token != Scanner.TokenNameWHITESPACE) { // Do not add newline & indent between an adjoining close brace and // close paren. Anonymous inner classes may use this form. @@ -690,7 +700,9 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { // check for closing array declaration if (arrayDeclarationCount>0) { if (arrayDeclarationParenthesis[arrayDeclarationCount]==openParenthesis[openParenthesisCount]) { - newLine(1); + if (previousCompilableToken != TokenNameLPAREN) { + newLine(1); + } indentationLevel--; currentLineIndentationLevel = indentationLevel; pendingNewLines = 0; @@ -728,6 +740,7 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { // Add new line and increase indentation level after open brace. pendingNewLines = 1; indentationLevel += pushBlock(); + inAssignment = false; } } break; @@ -791,6 +804,7 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { } break; case TokenNameDOT: + space(); pendingSpace = false; break; case TokenNameSEMICOLON: @@ -1259,7 +1273,6 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { case TokenNameLPAREN: case TokenNameNOT: case TokenNameTWIDDLE: - case TokenNameDOT: case 0: // no token case TokenNameWHITESPACE: