X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/formatter/impl/SplitLine.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/formatter/impl/SplitLine.java index 049c220..5a8abc3 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/formatter/impl/SplitLine.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/formatter/impl/SplitLine.java @@ -12,202 +12,210 @@ package net.sourceforge.phpdt.internal.formatter.impl; import net.sourceforge.phpdt.core.compiler.ITerminalSymbols; -/** Represents a split line: contains an operator and all substrings -*/ +/** + * Represents a split line: contains an operator and all substrings + */ public class SplitLine implements ITerminalSymbols { - public int[] operators; // the operator on which the string was split. - public String[] substrings; - public int[] startSubstringsIndexes; - /** - * SplitLine constructor comment. - */ - public SplitLine(int[] operators, String[] substrings) { - this(operators, substrings, null); - } - /** - * SplitLine constructor comment. - */ - public SplitLine(int[] operators, String[] substrings, int[] startIndexes) { - super(); - this.operators = operators; - this.substrings = substrings; - this.startSubstringsIndexes = startIndexes; - } - /** - * Prints a nice representation of the receiver - * @return java.lang.String - */ - public String toString() { - StringBuffer result = new StringBuffer(); - String operatorString = new String(); - - for (int i = 0, max = substrings.length; i < max; i++) { - int currentOperator = operators[i]; - String currentString = substrings[i]; - boolean placeOperatorAhead = - currentOperator != TokenNameCOMMA - && currentOperator != TokenNameSEMICOLON; - boolean placeOperatorBehind = - currentOperator == TokenNameCOMMA - || currentOperator == TokenNameSEMICOLON; - - switch (currentOperator) { - case TokenNameextends : - operatorString = "extends"; //$NON-NLS-1$ - break; - // case TokenNameimplements: - // operatorString="implements"; //$NON-NLS-1$ - // break; - // case TokenNamethrows: - // operatorString="throws"; //$NON-NLS-1$ - // break; - case TokenNameSEMICOLON : // ; - operatorString = ";"; //$NON-NLS-1$ - break; - case TokenNameCOMMA : // , - operatorString = ","; //$NON-NLS-1$ - break; - case TokenNameEQUAL : // = - operatorString = "="; //$NON-NLS-1$ - break; - case TokenNameAND_AND : // && (15.22) - operatorString = "&&"; //$NON-NLS-1$ - break; - case TokenNameOR_OR : // || (15.23) - operatorString = "||"; //$NON-NLS-1$ - break; - case TokenNameQUESTION : // ? (15.24) - operatorString = "?"; //$NON-NLS-1$ - break; - - case TokenNameCOLON : // : (15.24) - operatorString = ":"; //$NON-NLS-1$ - break; - case TokenNameEQUAL_EQUAL : // == (15.20, 15.20.1, 15.20.2, 15.20.3) - operatorString = "=="; //$NON-NLS-1$ - break; - - case TokenNameNOT_EQUAL : // != (15.20, 15.20.1, 15.20.2, 15.20.3) - operatorString = "!="; //$NON-NLS-1$ - break; - - case TokenNameLESS : // < (15.19.1) - operatorString = "<"; //$NON-NLS-1$ - break; - - case TokenNameLESS_EQUAL : // <= (15.19.1) - operatorString = "<="; //$NON-NLS-1$ - break; - - case TokenNameGREATER : // > (15.19.1) - operatorString = ">"; //$NON-NLS-1$ - break; - - case TokenNameGREATER_EQUAL : // >= (15.19.1) - operatorString = ">="; //$NON-NLS-1$ - break; - - // case TokenNameinstanceof : // instanceof - // operatorString="instanceof"; //$NON-NLS-1$ - // break; - case TokenNamePLUS : // + (15.17, 15.17.2) - operatorString = "+"; //$NON-NLS-1$ - break; - - case TokenNameMINUS : // - (15.17.2) - operatorString = "-"; //$NON-NLS-1$ - break; - case TokenNameMULTIPLY : // * (15.16.1) - operatorString = "*"; //$NON-NLS-1$ - break; - - case TokenNameDIVIDE : // / (15.16.2) - operatorString = "/"; //$NON-NLS-1$ - break; - - case TokenNameREMAINDER : // % (15.16.3) - operatorString = "%"; //$NON-NLS-1$ - break; - case TokenNameLEFT_SHIFT : // << (15.18) - operatorString = "<<"; //$NON-NLS-1$ - break; - - case TokenNameRIGHT_SHIFT : // >> (15.18) - operatorString = ">>"; //$NON-NLS-1$ - break; - - // case TokenNameUNSIGNED_RIGHT_SHIFT : // >>> (15.18) - // operatorString=">>>"; //$NON-NLS-1$ - // break; - case TokenNameAND : // & (15.21, 15.21.1, 15.21.2) - operatorString = "&"; //$NON-NLS-1$ - break; - - case TokenNameOR : // | (15.21, 15.21.1, 15.21.2) - operatorString = "|"; //$NON-NLS-1$ - break; - - case TokenNameXOR : // ^ (15.21, 15.21.1, 15.21.2) - operatorString = "^"; //$NON-NLS-1$ - break; - case TokenNameMULTIPLY_EQUAL : // *= (15.25.2) - operatorString = "*="; //$NON-NLS-1$ - break; - - case TokenNameDIVIDE_EQUAL : // /= (15.25.2) - operatorString = "/="; //$NON-NLS-1$ - break; - case TokenNameREMAINDER_EQUAL : // %= (15.25.2) - operatorString = "%="; //$NON-NLS-1$ - break; - - case TokenNamePLUS_EQUAL : // += (15.25.2) - operatorString = "+="; //$NON-NLS-1$ - break; - - case TokenNameMINUS_EQUAL : // -= (15.25.2) - operatorString = "-="; //$NON-NLS-1$ - break; - - case TokenNameLEFT_SHIFT_EQUAL : // <<= (15.25.2) - operatorString = "<<="; //$NON-NLS-1$ - break; - - case TokenNameRIGHT_SHIFT_EQUAL : // >>= (15.25.2) - operatorString = ">>="; //$NON-NLS-1$ - break; - - // case TokenNameUNSIGNED_RIGHT_SHIFT_EQUAL : // >>>= (15.25.2) - // operatorString=">>>="; //$NON-NLS-1$ - // break; - - case TokenNameAND_EQUAL : // &= (15.25.2) - operatorString = "&="; //$NON-NLS-1$ - break; - - case TokenNameXOR_EQUAL : // ^= (15.25.2) - operatorString = "^="; //$NON-NLS-1$ - break; - - case TokenNameOR_EQUAL : // |= (15.25.2) - operatorString = "|="; //$NON-NLS-1$ - break; - case TokenNameDOT : // . - operatorString = "."; //$NON-NLS-1$ - break; - - default : - operatorString = ""; //$NON-NLS-1$ - } - if (placeOperatorAhead) { - result.append(operatorString); - } - result.append(currentString); - if (placeOperatorBehind) { - result.append(operatorString); - } - result.append('\n'); - } - return ""; //$NON-NLS-1$ - } + public TokenName[] operators; // the operator on which the string was split. + + public String[] substrings; + + public int[] startSubstringsIndexes; + + /** + * SplitLine constructor comment. + */ +// public SplitLine(int[] operators, String[] substrings) { +// this(operators, substrings, null); +// } + + /** + * SplitLine constructor comment. + */ +// public SplitLine(int[] operators, String[] substrings, int[] startIndexes) { +// super(); +// this.operators = operators; +// this.substrings = substrings; +// this.startSubstringsIndexes = startIndexes; +// } + + /** + * Prints a nice representation of the receiver + * + * @return java.lang.String + */ + public String toString() { + StringBuffer result = new StringBuffer(); + String operatorString = new String(); + + for (int i = 0, max = substrings.length; i < max; i++) { + TokenName currentOperator = operators[i]; + String currentString = substrings[i]; + boolean placeOperatorAhead = currentOperator != TokenName.COMMA + && currentOperator != TokenName.SEMICOLON; + boolean placeOperatorBehind = currentOperator == TokenName.COMMA + || currentOperator == TokenName.SEMICOLON; + + switch (currentOperator) { + case EXTENDS: + operatorString = "extends"; //$NON-NLS-1$ + break; + // case implements: + // operatorString="implements"; //$NON-NLS-1$ + // break; + // case throws: + // operatorString="throws"; //$NON-NLS-1$ + // break; + case SEMICOLON: // ; + operatorString = ";"; //$NON-NLS-1$ + break; + case COMMA: // , + operatorString = ","; //$NON-NLS-1$ + break; + case EQUAL: // = + operatorString = "="; //$NON-NLS-1$ + break; + case AND_AND: // && (15.22) + operatorString = "&&"; //$NON-NLS-1$ + break; + case OR_OR: // || (15.23) + operatorString = "||"; //$NON-NLS-1$ + break; + case QUESTION: // ? (15.24) + operatorString = "?"; //$NON-NLS-1$ + break; + + case COLON: // : (15.24) + operatorString = ":"; //$NON-NLS-1$ + break; + case EQUAL_EQUAL: // == (15.20, 15.20.1, 15.20.2, 15.20.3) + operatorString = "=="; //$NON-NLS-1$ + break; + + case NOT_EQUAL: // != (15.20, 15.20.1, 15.20.2, 15.20.3) + operatorString = "!="; //$NON-NLS-1$ + break; + + case LESS: // < (15.19.1) + operatorString = "<"; //$NON-NLS-1$ + break; + + case LESS_EQUAL: // <= (15.19.1) + operatorString = "<="; //$NON-NLS-1$ + break; + + case GREATER: // > (15.19.1) + operatorString = ">"; //$NON-NLS-1$ + break; + + case GREATER_EQUAL: // >= (15.19.1) + operatorString = ">="; //$NON-NLS-1$ + break; + + // case instanceof : // instanceof + // operatorString="instanceof"; //$NON-NLS-1$ + // break; + case PLUS: // + (15.17, 15.17.2) + operatorString = "+"; //$NON-NLS-1$ + break; + + case MINUS: // - (15.17.2) + operatorString = "-"; //$NON-NLS-1$ + break; + case MULTIPLY: // * (15.16.1) + operatorString = "*"; //$NON-NLS-1$ + break; + + case DIVIDE: // / (15.16.2) + operatorString = "/"; //$NON-NLS-1$ + break; + + case REMAINDER: // % (15.16.3) + operatorString = "%"; //$NON-NLS-1$ + break; + case LEFT_SHIFT: // << (15.18) + operatorString = "<<"; //$NON-NLS-1$ + break; + + case RIGHT_SHIFT: // >> (15.18) + operatorString = ">>"; //$NON-NLS-1$ + break; + + // case UNSIGNED_RIGHT_SHIFT : // >>> (15.18) + // operatorString=">>>"; //$NON-NLS-1$ + // break; + case OP_AND: // & (15.21, 15.21.1, 15.21.2) + operatorString = "&"; //$NON-NLS-1$ + break; + + case OP_OR: // | (15.21, 15.21.1, 15.21.2) + operatorString = "|"; //$NON-NLS-1$ + break; + + case OP_XOR: // ^ (15.21, 15.21.1, 15.21.2) + operatorString = "^"; //$NON-NLS-1$ + break; + case MULTIPLY_EQUAL: // *= (15.25.2) + operatorString = "*="; //$NON-NLS-1$ + break; + + case DIVIDE_EQUAL: // /= (15.25.2) + operatorString = "/="; //$NON-NLS-1$ + break; + case REMAINDER_EQUAL: // %= (15.25.2) + operatorString = "%="; //$NON-NLS-1$ + break; + + case PLUS_EQUAL: // += (15.25.2) + operatorString = "+="; //$NON-NLS-1$ + break; + + case MINUS_EQUAL: // -= (15.25.2) + operatorString = "-="; //$NON-NLS-1$ + break; + + case LEFT_SHIFT_EQUAL: // <<= (15.25.2) + operatorString = "<<="; //$NON-NLS-1$ + break; + + case RIGHT_SHIFT_EQUAL: // >>= (15.25.2) + operatorString = ">>="; //$NON-NLS-1$ + break; + + // case UNSIGNED_RIGHT_SHIFT_EQUAL : // >>>= (15.25.2) + // operatorString=">>>="; //$NON-NLS-1$ + // break; + + case AND_EQUAL: // &= (15.25.2) + operatorString = "&="; //$NON-NLS-1$ + break; + + case XOR_EQUAL: // ^= (15.25.2) + operatorString = "^="; //$NON-NLS-1$ + break; + + case OR_EQUAL: // |= (15.25.2) + operatorString = "|="; //$NON-NLS-1$ + break; + case DOT_EQUAL: // .= + operatorString = ".="; //$NON-NLS-1$ + break; + case DOT: // . + operatorString = "."; //$NON-NLS-1$ + break; + + default: + operatorString = ""; //$NON-NLS-1$ + } + if (placeOperatorAhead) { + result.append(operatorString); + } + result.append(currentString); + if (placeOperatorBehind) { + result.append(operatorString); + } + result.append('\n'); + } + return ""; //$NON-NLS-1$ + } }