compact the dereferencing operator in the formatter
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / formatter / CodeFormatter.java
index 3d70337..30ed629 100644 (file)
@@ -890,6 +890,8 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter {
               // (eg: ++, --, +, -) and the identifier being modified.
               if (previousToken == TokenNamePLUS_PLUS
                 || previousToken == TokenNameMINUS_MINUS
+                               || (previousToken == TokenNameMINUS_GREATER &&
+                                                                       options.compactDereferencingMode) // ->
                 || (previousToken == TokenNamePLUS && unarySignModifier > 0)
                 || (previousToken == TokenNameMINUS && unarySignModifier > 0)) {
                 pendingSpace = false;
@@ -912,7 +914,11 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter {
           7) in an assignment statement, if the previous token is an 
           open brace or the current token is a close brace
           8) previous token is a single line comment
+          9) current token is a '->'
           */
+                 if (token == TokenNameMINUS_GREATER && 
+                               options.compactDereferencingMode) pendingSpace = false;
+          
           boolean openAndCloseBrace = previousCompilableToken == TokenNameLBRACE && token == TokenNameRBRACE;
 
           if (pendingSpace