mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Code simplification.
This commit is contained in:
parent
b921093240
commit
304ce2dac3
3 changed files with 37 additions and 37 deletions
|
@ -3867,7 +3867,7 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor,
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getNextTokenOffset() {
|
private int getNextTokenOffset() {
|
||||||
localScanner.resetTo(scribe.scanner.getCurrentPosition(), scribe.scannerEndPosition - 1);
|
localScanner.resetTo(scribe.scanner.getCurrentPosition(), scribe.scannerEndPosition);
|
||||||
localScanner.getNextToken();
|
localScanner.getNextToken();
|
||||||
return localScanner.getCurrentTokenStartPosition();
|
return localScanner.getCurrentTokenStartPosition();
|
||||||
}
|
}
|
||||||
|
@ -4030,12 +4030,12 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor,
|
||||||
if (fileLocation == null)
|
if (fileLocation == null)
|
||||||
return false;
|
return false;
|
||||||
int pos = fileLocation.getNodeOffset() + fileLocation.getNodeLength();
|
int pos = fileLocation.getNodeOffset() + fileLocation.getNodeLength();
|
||||||
localScanner.resetTo(pos, scribe.scannerEndPosition - 1);
|
localScanner.resetTo(pos, scribe.scannerEndPosition);
|
||||||
Token token= localScanner.nextToken();
|
Token token= localScanner.nextToken();
|
||||||
if (token == null || token.getType() != Token.tSEMI)
|
if (token == null || token.getType() != Token.tSEMI)
|
||||||
return false;
|
return false;
|
||||||
// Check if the semicolon is on the same line.
|
// Check if the semicolon is on the same line.
|
||||||
localScanner.resetTo(pos, token.getOffset() - 1);
|
localScanner.resetTo(pos, token.getOffset());
|
||||||
int c;
|
int c;
|
||||||
while ((c = localScanner.getNextChar()) != -1) {
|
while ((c = localScanner.getNextChar()) != -1) {
|
||||||
if (c == '\n')
|
if (c == '\n')
|
||||||
|
@ -4238,7 +4238,7 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor,
|
||||||
}
|
}
|
||||||
|
|
||||||
private int peekTokenAtPosition(int pos) {
|
private int peekTokenAtPosition(int pos) {
|
||||||
localScanner.resetTo(pos, scribe.scannerEndPosition - 1);
|
localScanner.resetTo(pos, scribe.scannerEndPosition);
|
||||||
int token = localScanner.getNextToken();
|
int token = localScanner.getNextToken();
|
||||||
while (token == Token.tBLOCKCOMMENT || token == Token.tLINECOMMENT) {
|
while (token == Token.tBLOCKCOMMENT || token == Token.tLINECOMMENT) {
|
||||||
token = localScanner.getNextToken();
|
token = localScanner.getNextToken();
|
||||||
|
@ -4254,7 +4254,7 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor,
|
||||||
if (!ignoreSkip && scribe.shouldSkip(scribe.scanner.getCurrentPosition())) {
|
if (!ignoreSkip && scribe.shouldSkip(scribe.scanner.getCurrentPosition())) {
|
||||||
return Token.tBADCHAR;
|
return Token.tBADCHAR;
|
||||||
}
|
}
|
||||||
localScanner.resetTo(scribe.scanner.getCurrentPosition(), scribe.scannerEndPosition - 1);
|
localScanner.resetTo(scribe.scanner.getCurrentPosition(), scribe.scannerEndPosition);
|
||||||
int token = localScanner.getNextToken();
|
int token = localScanner.getNextToken();
|
||||||
while (token == Token.tBLOCKCOMMENT || token == Token.tLINECOMMENT) {
|
while (token == Token.tBLOCKCOMMENT || token == Token.tLINECOMMENT) {
|
||||||
token = localScanner.getNextToken();
|
token = localScanner.getNextToken();
|
||||||
|
|
|
@ -786,7 +786,7 @@ public class Scribe {
|
||||||
skipOverInactive= false;
|
skipOverInactive= false;
|
||||||
scannerEndPosition= startOffset + length;
|
scannerEndPosition= startOffset + length;
|
||||||
try {
|
try {
|
||||||
scanner.resetTo(Math.max(startOffset, currentPosition), startOffset + length - 1);
|
scanner.resetTo(Math.max(startOffset, currentPosition), startOffset + length);
|
||||||
int parenLevel= 0;
|
int parenLevel= 0;
|
||||||
while (true) {
|
while (true) {
|
||||||
boolean hasWhitespace= printComment();
|
boolean hasWhitespace= printComment();
|
||||||
|
@ -804,7 +804,7 @@ public class Scribe {
|
||||||
}
|
}
|
||||||
switch (currentToken.type) {
|
switch (currentToken.type) {
|
||||||
case Token.tLBRACE: {
|
case Token.tLBRACE: {
|
||||||
scanner.resetTo(scanner.getCurrentTokenStartPosition(), scannerEndPosition - 1);
|
scanner.resetTo(scanner.getCurrentTokenStartPosition(), scannerEndPosition);
|
||||||
formatOpeningBrace(preferences.brace_position_for_block,
|
formatOpeningBrace(preferences.brace_position_for_block,
|
||||||
preferences.insert_space_before_opening_brace_in_block);
|
preferences.insert_space_before_opening_brace_in_block);
|
||||||
if (preferences.indent_statements_compare_to_block) {
|
if (preferences.indent_statements_compare_to_block) {
|
||||||
|
@ -813,7 +813,7 @@ public class Scribe {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case Token.tRBRACE: {
|
case Token.tRBRACE: {
|
||||||
scanner.resetTo(scanner.getCurrentTokenStartPosition(), scannerEndPosition - 1);
|
scanner.resetTo(scanner.getCurrentTokenStartPosition(), scannerEndPosition);
|
||||||
if (preferences.indent_statements_compare_to_block) {
|
if (preferences.indent_statements_compare_to_block) {
|
||||||
unIndent();
|
unIndent();
|
||||||
}
|
}
|
||||||
|
@ -868,7 +868,7 @@ public class Scribe {
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
scannerEndPosition= savedScannerEndPos;
|
scannerEndPosition= savedScannerEndPos;
|
||||||
scanner.resetTo(startOffset + length, scannerEndPosition - 1);
|
scanner.resetTo(startOffset + length, scannerEndPosition);
|
||||||
skipOverInactive= savedSkipOverInactive;
|
skipOverInactive= savedSkipOverInactive;
|
||||||
preserveNewLines= savedPreserveNL;
|
preserveNewLines= savedPreserveNL;
|
||||||
}
|
}
|
||||||
|
@ -932,7 +932,7 @@ public class Scribe {
|
||||||
int currentTokenStartPosition= scanner.getCurrentTokenStartPosition();
|
int currentTokenStartPosition= scanner.getCurrentTokenStartPosition();
|
||||||
int currentTokenEndPosition= scanner.getCurrentTokenEndPosition() + 1;
|
int currentTokenEndPosition= scanner.getCurrentTokenEndPosition() + 1;
|
||||||
|
|
||||||
scanner.resetTo(currentTokenStartPosition, currentTokenEndPosition - 1);
|
scanner.resetTo(currentTokenStartPosition, currentTokenEndPosition);
|
||||||
int currentCharacter;
|
int currentCharacter;
|
||||||
boolean isNewLine= false;
|
boolean isNewLine= false;
|
||||||
int start= currentTokenStartPosition;
|
int start= currentTokenStartPosition;
|
||||||
|
@ -1002,7 +1002,7 @@ public class Scribe {
|
||||||
}
|
}
|
||||||
lastNumberOfNewLines= 0;
|
lastNumberOfNewLines= 0;
|
||||||
needSpace= false;
|
needSpace= false;
|
||||||
scanner.resetTo(currentTokenEndPosition, scannerEndPosition - 1);
|
scanner.resetTo(currentTokenEndPosition, scannerEndPosition);
|
||||||
if (forceNewLine) {
|
if (forceNewLine) {
|
||||||
startNewLine();
|
startNewLine();
|
||||||
}
|
}
|
||||||
|
@ -1012,7 +1012,7 @@ public class Scribe {
|
||||||
int currentTokenStartPosition= scanner.getCurrentTokenStartPosition();
|
int currentTokenStartPosition= scanner.getCurrentTokenStartPosition();
|
||||||
int currentTokenEndPosition= scanner.getCurrentTokenEndPosition() + 1;
|
int currentTokenEndPosition= scanner.getCurrentTokenEndPosition() + 1;
|
||||||
|
|
||||||
scanner.resetTo(currentTokenStartPosition, currentTokenEndPosition - 1);
|
scanner.resetTo(currentTokenStartPosition, currentTokenEndPosition);
|
||||||
int currentCharacter;
|
int currentCharacter;
|
||||||
boolean isNewLine= false;
|
boolean isNewLine= false;
|
||||||
int nextCharacterStart= currentTokenStartPosition;
|
int nextCharacterStart= currentTokenStartPosition;
|
||||||
|
@ -1052,7 +1052,7 @@ public class Scribe {
|
||||||
if (currentAlignment != null) {
|
if (currentAlignment != null) {
|
||||||
indentationLevel= currentAlignment.breakIndentationLevel;
|
indentationLevel= currentAlignment.breakIndentationLevel;
|
||||||
}
|
}
|
||||||
scanner.resetTo(currentTokenEndPosition, scannerEndPosition - 1);
|
scanner.resetTo(currentTokenEndPosition, scannerEndPosition);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void printEndOfTranslationUnit() {
|
public void printEndOfTranslationUnit() {
|
||||||
|
@ -1093,7 +1093,7 @@ public class Scribe {
|
||||||
inactivePos.getOffset() + inactivePos.getLength());
|
inactivePos.getOffset() + inactivePos.getLength());
|
||||||
if (startOffset < endOffset) {
|
if (startOffset < endOffset) {
|
||||||
int savedIndentLevel= indentationLevel;
|
int savedIndentLevel= indentationLevel;
|
||||||
scanner.resetTo(scanner.getCurrentTokenStartPosition(), scanner.eofPosition - 1);
|
scanner.resetTo(scanner.getCurrentTokenStartPosition(), scanner.eofPosition);
|
||||||
printRaw(startOffset, endOffset - startOffset);
|
printRaw(startOffset, endOffset - startOffset);
|
||||||
while (indentationLevel > savedIndentLevel) {
|
while (indentationLevel > savedIndentLevel) {
|
||||||
unIndent();
|
unIndent();
|
||||||
|
@ -1101,7 +1101,7 @@ public class Scribe {
|
||||||
while (indentationLevel < savedIndentLevel) {
|
while (indentationLevel < savedIndentLevel) {
|
||||||
indent();
|
indent();
|
||||||
}
|
}
|
||||||
scanner.resetTo(endOffset, scanner.eofPosition - 1);
|
scanner.resetTo(endOffset, scanner.eofPosition);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1165,7 +1165,7 @@ public class Scribe {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
scanner.resetTo(currentTokenPosition, scanner.eofPosition - 1);
|
scanner.resetTo(currentTokenPosition, scanner.eofPosition);
|
||||||
scanner.getNextToken(); // Get current token again to restore the scanner state.
|
scanner.getNextToken(); // Get current token again to restore the scanner state.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1178,10 +1178,10 @@ public class Scribe {
|
||||||
currentTokenStartPosition = tokenStartPosition;
|
currentTokenStartPosition = tokenStartPosition;
|
||||||
preserveEmptyLines(lines, currentTokenStartPosition);
|
preserveEmptyLines(lines, currentTokenStartPosition);
|
||||||
addDeleteEdit(currentTokenStartPosition, whitespacesEndPosition);
|
addDeleteEdit(currentTokenStartPosition, whitespacesEndPosition);
|
||||||
scanner.resetTo(scanner.getCurrentPosition(), scannerEndPosition - 1);
|
scanner.resetTo(scanner.getCurrentPosition(), scannerEndPosition);
|
||||||
return hasWhitespace;
|
return hasWhitespace;
|
||||||
}
|
}
|
||||||
scanner.resetTo(currentTokenStartPosition, scannerEndPosition - 1);
|
scanner.resetTo(currentTokenStartPosition, scannerEndPosition);
|
||||||
return hasWhitespace;
|
return hasWhitespace;
|
||||||
}
|
}
|
||||||
// If one or several new lines are consumed, following comments
|
// If one or several new lines are consumed, following comments
|
||||||
|
@ -1190,7 +1190,7 @@ public class Scribe {
|
||||||
if (hasComment) {
|
if (hasComment) {
|
||||||
printNewLine(tokenStartPosition);
|
printNewLine(tokenStartPosition);
|
||||||
}
|
}
|
||||||
scanner.resetTo(currentTokenStartPosition, scannerEndPosition - 1);
|
scanner.resetTo(currentTokenStartPosition, scannerEndPosition);
|
||||||
return hasWhitespace;
|
return hasWhitespace;
|
||||||
}
|
}
|
||||||
// Delete consumed white spaces
|
// Delete consumed white spaces
|
||||||
|
@ -1290,7 +1290,7 @@ public class Scribe {
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// step back one token
|
// step back one token
|
||||||
scanner.resetTo(currentTokenStartPosition, scannerEndPosition - 1);
|
scanner.resetTo(currentTokenStartPosition, scannerEndPosition);
|
||||||
return hasWhitespace;
|
return hasWhitespace;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1314,7 +1314,7 @@ public class Scribe {
|
||||||
private void printLineComment() {
|
private void printLineComment() {
|
||||||
int currentTokenStartPosition = scanner.getCurrentTokenStartPosition();
|
int currentTokenStartPosition = scanner.getCurrentTokenStartPosition();
|
||||||
int currentTokenEndPosition = scanner.getCurrentTokenEndPosition() + 1;
|
int currentTokenEndPosition = scanner.getCurrentTokenEndPosition() + 1;
|
||||||
scanner.resetTo(currentTokenStartPosition, currentTokenEndPosition - 1);
|
scanner.resetTo(currentTokenStartPosition, currentTokenEndPosition);
|
||||||
int currentCharacter;
|
int currentCharacter;
|
||||||
int start = currentTokenStartPosition;
|
int start = currentTokenStartPosition;
|
||||||
int nextCharacterStart = currentTokenStartPosition;
|
int nextCharacterStart = currentTokenStartPosition;
|
||||||
|
@ -1437,7 +1437,7 @@ public class Scribe {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
resetAt(location);
|
resetAt(location);
|
||||||
scanner.resetTo(location.inputOffset, scanner.eofPosition - 1);
|
scanner.resetTo(location.inputOffset, scanner.eofPosition);
|
||||||
}
|
}
|
||||||
|
|
||||||
needSpace = false;
|
needSpace = false;
|
||||||
|
@ -1463,7 +1463,7 @@ public class Scribe {
|
||||||
indentationLevel = currentAlignment.breakIndentationLevel;
|
indentationLevel = currentAlignment.breakIndentationLevel;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
scanner.resetTo(currentTokenEndPosition, scannerEndPosition - 1);
|
scanner.resetTo(currentTokenEndPosition, scannerEndPosition);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void printEmptyLines(int linesNumber) {
|
public void printEmptyLines(int linesNumber) {
|
||||||
|
@ -1721,7 +1721,7 @@ public class Scribe {
|
||||||
}
|
}
|
||||||
// Reset scribe/scanner to restart at this given location
|
// Reset scribe/scanner to restart at this given location
|
||||||
resetAt(currentAlignment.location);
|
resetAt(currentAlignment.location);
|
||||||
scanner.resetTo(currentAlignment.location.inputOffset, scanner.eofPosition - 1);
|
scanner.resetTo(currentAlignment.location.inputOffset, scanner.eofPosition);
|
||||||
// Clean alignment chunkKind so it will think it is a new chunk again
|
// Clean alignment chunkKind so it will think it is a new chunk again
|
||||||
currentAlignment.chunkKind= 0;
|
currentAlignment.chunkKind= 0;
|
||||||
currentAlignmentException= null;
|
currentAlignmentException= null;
|
||||||
|
@ -1730,7 +1730,7 @@ public class Scribe {
|
||||||
void redoMemberAlignment(AlignmentException e) {
|
void redoMemberAlignment(AlignmentException e) {
|
||||||
// Reset scribe/scanner to restart at this given location
|
// Reset scribe/scanner to restart at this given location
|
||||||
resetAt(memberAlignment.location);
|
resetAt(memberAlignment.location);
|
||||||
scanner.resetTo(memberAlignment.location.inputOffset, scanner.eofPosition - 1);
|
scanner.resetTo(memberAlignment.location.inputOffset, scanner.eofPosition);
|
||||||
// Clean alignment chunkKind so it will think it is a new chunk again
|
// Clean alignment chunkKind so it will think it is a new chunk again
|
||||||
memberAlignment.chunkKind= 0;
|
memberAlignment.chunkKind= 0;
|
||||||
currentAlignmentException= null;
|
currentAlignmentException= null;
|
||||||
|
@ -1911,7 +1911,7 @@ public class Scribe {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Step back one token
|
// Step back one token
|
||||||
scanner.resetTo(currentTokenStartPosition, scannerEndPosition - 1);
|
scanner.resetTo(currentTokenStartPosition, scannerEndPosition);
|
||||||
return !isFirstModifier;
|
return !isFirstModifier;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1937,7 +1937,7 @@ public class Scribe {
|
||||||
}
|
}
|
||||||
printRaw(skipStart, tokenStart - skipStart);
|
printRaw(skipStart, tokenStart - skipStart);
|
||||||
currentToken= scanner.nextToken();
|
currentToken= scanner.nextToken();
|
||||||
scanner.resetTo(tokenStart, scannerEndPosition - 1);
|
scanner.resetTo(tokenStart, scannerEndPosition);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2018,7 +2018,7 @@ public class Scribe {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
scanner.resetTo(startPosition, scannerEndPosition - 1);
|
scanner.resetTo(startPosition, scannerEndPosition);
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -2036,10 +2036,10 @@ public class Scribe {
|
||||||
public int findToken(int tokenType, int startPosition, int endPosition) {
|
public int findToken(int tokenType, int startPosition, int endPosition) {
|
||||||
int currentPosition= scanner.getCurrentPosition();
|
int currentPosition= scanner.getCurrentPosition();
|
||||||
try {
|
try {
|
||||||
scanner.resetTo(startPosition, scannerEndPosition - 1);
|
scanner.resetTo(startPosition, scannerEndPosition);
|
||||||
return findToken(tokenType, endPosition);
|
return findToken(tokenType, endPosition);
|
||||||
} finally {
|
} finally {
|
||||||
scanner.resetTo(currentPosition, scannerEndPosition - 1);
|
scanner.resetTo(currentPosition, scannerEndPosition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2084,7 +2084,7 @@ public class Scribe {
|
||||||
}
|
}
|
||||||
if (offset > currentPosition) {
|
if (offset > currentPosition) {
|
||||||
printRaw(currentPosition, offset - currentPosition);
|
printRaw(currentPosition, offset - currentPosition);
|
||||||
scanner.resetTo(offset, scannerEndPosition - 1);
|
scanner.resetTo(offset, scannerEndPosition);
|
||||||
}
|
}
|
||||||
while (fSkippedIndentations > 0) {
|
while (fSkippedIndentations > 0) {
|
||||||
indent();
|
indent();
|
||||||
|
@ -2098,7 +2098,7 @@ public class Scribe {
|
||||||
space();
|
space();
|
||||||
}
|
}
|
||||||
printRaw(nextPosition, offset - nextPosition);
|
printRaw(nextPosition, offset - nextPosition);
|
||||||
scanner.resetTo(offset, scannerEndPosition - 1);
|
scanner.resetTo(offset, scannerEndPosition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,21 +55,21 @@ public class Scanner extends SimpleScanner {
|
||||||
/**
|
/**
|
||||||
* Reset scanner to given inclusive start and end offsets
|
* Reset scanner to given inclusive start and end offsets
|
||||||
* @param start inclusive start offset
|
* @param start inclusive start offset
|
||||||
* @param end inclusive end offset
|
* @param end exclusive end offset
|
||||||
*/
|
*/
|
||||||
public void resetTo(int start, int end) {
|
public void resetTo(int start, int end) {
|
||||||
Reader reader;
|
Reader reader;
|
||||||
if (end >= source.length - 1) {
|
if (end >= source.length) {
|
||||||
reader= new CharArrayReader(source);
|
reader= new CharArrayReader(source);
|
||||||
} else {
|
} else {
|
||||||
reader= new CharArrayReader(source, 0, Math.min(source.length, end + 1));
|
reader= new CharArrayReader(source, 0, Math.min(source.length, end));
|
||||||
}
|
}
|
||||||
fContext= new ScannerContext().initialize(reader, start);
|
fContext= new ScannerContext().initialize(reader, start);
|
||||||
startPosition= start;
|
startPosition= start;
|
||||||
if (source != null && source.length < end) {
|
if (source != null && source.length < end) {
|
||||||
eofPosition = source.length;
|
eofPosition = source.length;
|
||||||
} else {
|
} else {
|
||||||
eofPosition = end < Integer.MAX_VALUE ? end + 1 : end;
|
eofPosition = end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,7 +152,7 @@ public class Scanner extends SimpleScanner {
|
||||||
} else if (diff == 0) {
|
} else if (diff == 0) {
|
||||||
// no-op
|
// no-op
|
||||||
} else if (diff > fTokenBuffer.length()) {
|
} else if (diff > fTokenBuffer.length()) {
|
||||||
resetTo(nextCharacterStart, source.length - 1);
|
resetTo(nextCharacterStart, source.length);
|
||||||
} else /* if (diff <= fTokenBuffer.length()) */ {
|
} else /* if (diff <= fTokenBuffer.length()) */ {
|
||||||
while (diff > 0) {
|
while (diff > 0) {
|
||||||
if (fTokenBuffer.length() > 0) {
|
if (fTokenBuffer.length() > 0) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue