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 51bda8a..ecfed39 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 @@ -23,7 +23,6 @@ import net.sourceforge.phpdt.core.compiler.ITerminalSymbols; import net.sourceforge.phpdt.core.compiler.InvalidInputException; import net.sourceforge.phpdt.internal.compiler.ConfigurableOption; import net.sourceforge.phpdt.internal.compiler.parser.Scanner; - import net.sourceforge.phpdt.internal.formatter.impl.FormatterOptions; import net.sourceforge.phpdt.internal.formatter.impl.SplitLine; @@ -891,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; @@ -913,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 @@ -1126,7 +1131,9 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { case TokenNameCOLON : // : return 50; // it's better cutting on ?: than on ; case TokenNameEQUAL_EQUAL : // == + case TokenNameEQUAL_EQUAL_EQUAL : // === case TokenNameNOT_EQUAL : // != + case TokenNameNOT_EQUAL_EQUAL : // != return 60; case TokenNameLESS : // < case TokenNameLESS_EQUAL : // <= @@ -1308,12 +1315,24 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { case TokenNameCOLON : // : (15.24) return ":"; //$NON-NLS-1$ + case TokenNamePAAMAYIM_NEKUDOTAYIM : // : (15.24) + return "::"; //$NON-NLS-1$ + case TokenNameEQUAL_EQUAL : // == (15.20, 15.20.1, 15.20.2, 15.20.3) return "=="; //$NON-NLS-1$ + case TokenNameEQUAL_EQUAL_EQUAL : // == (15.20, 15.20.1, 15.20.2, 15.20.3) + return "==="; //$NON-NLS-1$ + + case TokenNameEQUAL_GREATER : // -= (15.25.2) + return "=>"; //$NON-NLS-1$ + case TokenNameNOT_EQUAL : // != (15.20, 15.20.1, 15.20.2, 15.20.3) return "!="; //$NON-NLS-1$ + case TokenNameNOT_EQUAL_EQUAL : // != (15.20, 15.20.1, 15.20.2, 15.20.3) + return "!=="; //$NON-NLS-1$ + case TokenNameLESS : // < (15.19.1) return "<"; //$NON-NLS-1$ @@ -1377,6 +1396,9 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { case TokenNameMINUS_EQUAL : // -= (15.25.2) return "-="; //$NON-NLS-1$ + case TokenNameMINUS_GREATER : // -= (15.25.2) + return "->"; //$NON-NLS-1$ + case TokenNameLEFT_SHIFT_EQUAL : // <<= (15.25.2) return "<<="; //$NON-NLS-1$ @@ -2144,7 +2166,9 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { case TokenNameGREATER_EQUAL : // >= (15.19.1) // case TokenNameinstanceof : // instanceof case TokenNameEQUAL_EQUAL : // == (15.20, 15.20.1, 15.20.2, 15.20.3) + case TokenNameEQUAL_EQUAL_EQUAL : // == (15.20, 15.20.1, 15.20.2, 15.20.3) case TokenNameNOT_EQUAL : // != (15.20, 15.20.1, 15.20.2, 15.20.3) + case TokenNameNOT_EQUAL_EQUAL : // != (15.20, 15.20.1, 15.20.2, 15.20.3) case TokenNameAND : // & (15.21, 15.21.1, 15.21.2) case TokenNameOR : // | (15.21, 15.21.1, 15.21.2) case TokenNameXOR : // ^ (15.21, 15.21.1, 15.21.2)