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 b17a73d..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,200 +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 -*/ -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 + * Represents a split line: contains an operator and all substrings */ -public String toString() { - StringBuffer result=new StringBuffer(); - String operatorString = new String(); - - for (int i=0,max=substrings.length;i (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); +public class SplitLine implements ITerminalSymbols { + 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'); } - result.append('\n'); + return ""; //$NON-NLS-1$ } - return ""; //$NON-NLS-1$ -} }