| Previous CloneSet | Next CloneSet | Back to Main Report |
| Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
|---|---|---|---|---|
| 119 | 2 | 0 | 1.000 | class_body_declarations[5] |
| Clone Abstraction | Parameter Bindings |
| Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
|---|---|---|---|
| 1 | 119 | 1370 | plugins/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/Scribe.java |
| 2 | 119 | 1329 | plugins/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/Scribe2.java |
| ||||
private void printRule(StringBuffer stringBuffer) {
for (int i = 0; i < this.pageWidth; i++) {
if ((i % this.tabLength) == 0) {
stringBuffer.append('+');
}
else {
stringBuffer.append('-');
}
}
stringBuffer.append(this.lineSeparator);
for (int i = 0; i < (pageWidth / tabLength); i++) {
stringBuffer.append(i);
stringBuffer.append('\t');
}
}
public void printTrailingComment() {
try {
// if we have a space between two tokens we ensure it will be dumped in the formatted string
int currentTokenStartPosition = this.scanner.currentPosition;
boolean hasWhitespaces = false;
boolean hasComment = false;
boolean hasLineComment = false;
while ((this.currentToken = this.scanner.getNextToken()) != TerminalTokens.TokenNameEOF) {
switch (this.currentToken) {
case TerminalTokens.TokenNameWHITESPACE:
int count = 0;
char[] whiteSpaces = this.scanner.getCurrentTokenSource();
for (int i = 0, max = whiteSpaces.length; i < max; i++) {
switch (whiteSpaces[i]) {
case '\r':
if ((i + 1) < max) {
if (whiteSpaces[i + 1] == '\n') {
i++;
}
}
count++;
break;
case '\n':
count++;
}
}
if (hasLineComment) {
if (count >= 1) {
currentTokenStartPosition = this.scanner.getCurrentTokenStartPosition();
this.preserveEmptyLines(count, currentTokenStartPosition);
addDeleteEdit(currentTokenStartPosition, this.scanner.getCurrentTokenEndPosition());
this.scanner.resetTo(this.scanner.currentPosition, this.scannerEndPosition - 1);
return;
}
else {
this.scanner.resetTo(currentTokenStartPosition, this.scannerEndPosition - 1);
return;
}
}
else if (count >= 1) {
if (hasComment) {
this.printNewLine(this.scanner.getCurrentTokenStartPosition());
}
this.scanner.resetTo(currentTokenStartPosition, this.scannerEndPosition - 1);
return;
}
else {
hasWhitespaces = true;
currentTokenStartPosition = this.scanner.currentPosition;
addDeleteEdit(this.scanner.getCurrentTokenStartPosition(), this.scanner.getCurrentTokenEndPosition());
}
break;
case TerminalTokens.TokenNameCOMMENT_LINE:
if (hasWhitespaces) {
space();
}
this.printCommentLine(this.scanner.getRawTokenSource());
currentTokenStartPosition = this.scanner.currentPosition;
hasLineComment = true;
break;
case TerminalTokens.TokenNameCOMMENT_BLOCK:
if (hasWhitespaces) {
space();
}
this.printBlockComment(this.scanner.getRawTokenSource(), false);
currentTokenStartPosition = this.scanner.currentPosition;
hasComment = true;
break;
default:
// step back one token
this.scanner.resetTo(currentTokenStartPosition, this.scannerEndPosition - 1);
return;
}
}
} catch (InvalidInputException e) {
throw new AbortFormatting(e);
}
}
void redoAlignment(AlignmentException e) {
if (e.relativeDepth > 0) { // if exception targets a distinct context
e.relativeDepth--; // record fact that current context got traversed
this.currentAlignment = this.currentAlignment.enclosing; // pop currentLocation
throw e; // rethrow
}
// reset scribe/scanner to restart at this given location
this.resetAt(this.currentAlignment.location);
this.scanner.resetTo(this.currentAlignment.location.inputOffset, this.scanner.eofPosition);
// clean alignment chunkKind so it will think it is a new chunk again
this.currentAlignment.chunkKind = 0;
}
void redoMemberAlignment(AlignmentException e) {
// reset scribe/scanner to restart at this given location
this.resetAt(this.memberAlignment.location);
this.scanner.resetTo(this.memberAlignment.location.inputOffset, this.scanner.eofPosition);
// clean alignment chunkKind so it will think it is a new chunk again
this.memberAlignment.chunkKind = 0;
}
public void reset() {
this.checkLineWrapping = true;
this.line = 0;
this.column = 1;
this.editsIndex = 0;
this.nlsTagCounter = 0;
}
|
| ||||
/*
public void printQualifiedReference(Name name) {
final int sourceEnd = name.getStartPosition() + name.getLength() - 1;
int currentTokenStartPosition = this.scanner.currentPosition;
try {
do {
this.printComment();
switch(this.currentToken = this.scanner.getNextToken()) {
case TerminalTokens.TokenNameEOF :
return;
case TerminalTokens.TokenNameWHITESPACE :
addDeleteEdit(this.scanner.getCurrentTokenStartPosition(), this.scanner.getCurrentTokenEndPosition());
currentTokenStartPosition = this.scanner.currentPosition;
break;
case TerminalTokens.TokenNameCOMMENT_BLOCK :
case TerminalTokens.TokenNameCOMMENT_JAVADOC :
this.printBlockComment(this.scanner.getRawTokenSource(), false);
currentTokenStartPosition = this.scanner.currentPosition;
break;
case TerminalTokens.TokenNameCOMMENT_LINE :
this.printCommentLine(this.scanner.getRawTokenSource());
currentTokenStartPosition = this.scanner.currentPosition;
break;
case TerminalTokens.TokenNameIdentifier :
case TerminalTokens.TokenNameDOT :
this.print(this.scanner.getRawTokenSource(), false);
currentTokenStartPosition = this.scanner.currentPosition;
break;
default:
this.scanner.resetTo(currentTokenStartPosition, this.scannerEndPosition - 1);
return;
}
} while (this.scanner.currentPosition <= sourceEnd);
} catch(InvalidInputException e) {
throw new AbortFormatting(e);
}
}
*/
private void printRule(StringBuffer stringBuffer) {
for (int i = 0; i < this.pageWidth; i++) {
if ((i % this.tabLength) == 0) {
stringBuffer.append('+');
}
else {
stringBuffer.append('-');
}
}
stringBuffer.append(this.lineSeparator);
for (int i = 0; i < (pageWidth / tabLength); i++) {
stringBuffer.append(i);
stringBuffer.append('\t');
}
}
public void printTrailingComment() {
try {
// if we have a space between two tokens we ensure it will be dumped in the formatted string
int currentTokenStartPosition = this.scanner.currentPosition;
boolean hasWhitespaces = false;
boolean hasComment = false;
boolean hasLineComment = false;
while ((this.currentToken = this.scanner.getNextToken()) != TerminalTokens.TokenNameEOF) {
switch (this.currentToken) {
case TerminalTokens.TokenNameWHITESPACE:
int count = 0;
char[] whiteSpaces = this.scanner.getCurrentTokenSource();
for (int i = 0, max = whiteSpaces.length; i < max; i++) {
switch (whiteSpaces[i]) {
case '\r':
if ((i + 1) < max) {
if (whiteSpaces[i + 1] == '\n') {
i++;
}
}
count++;
break;
case '\n':
count++;
}
}
if (hasLineComment) {
if (count >= 1) {
currentTokenStartPosition = this.scanner.getCurrentTokenStartPosition();
this.preserveEmptyLines(count, currentTokenStartPosition);
addDeleteEdit(currentTokenStartPosition, this.scanner.getCurrentTokenEndPosition());
this.scanner.resetTo(this.scanner.currentPosition, this.scannerEndPosition - 1);
return;
}
else {
this.scanner.resetTo(currentTokenStartPosition, this.scannerEndPosition - 1);
return;
}
}
else if (count >= 1) {
if (hasComment) {
this.printNewLine(this.scanner.getCurrentTokenStartPosition());
}
this.scanner.resetTo(currentTokenStartPosition, this.scannerEndPosition - 1);
return;
}
else {
hasWhitespaces = true;
currentTokenStartPosition = this.scanner.currentPosition;
addDeleteEdit(this.scanner.getCurrentTokenStartPosition(), this.scanner.getCurrentTokenEndPosition());
}
break;
case TerminalTokens.TokenNameCOMMENT_LINE:
if (hasWhitespaces) {
space();
}
this.printCommentLine(this.scanner.getRawTokenSource());
currentTokenStartPosition = this.scanner.currentPosition;
hasLineComment = true;
break;
case TerminalTokens.TokenNameCOMMENT_BLOCK:
if (hasWhitespaces) {
space();
}
this.printBlockComment(this.scanner.getRawTokenSource(), false);
currentTokenStartPosition = this.scanner.currentPosition;
hasComment = true;
break;
default:
// step back one token
this.scanner.resetTo(currentTokenStartPosition, this.scannerEndPosition - 1);
return;
}
}
} catch (InvalidInputException e) {
throw new AbortFormatting(e);
}
}
void redoAlignment(AlignmentException e) {
if (e.relativeDepth > 0) { // if exception targets a distinct context
e.relativeDepth--; // record fact that current context got traversed
this.currentAlignment = this.currentAlignment.enclosing; // pop currentLocation
throw e; // rethrow
}
// reset scribe/scanner to restart at this given location
this.resetAt(this.currentAlignment.location);
this.scanner.resetTo(this.currentAlignment.location.inputOffset, this.scanner.eofPosition);
// clean alignment chunkKind so it will think it is a new chunk again
this.currentAlignment.chunkKind = 0;
}
void redoMemberAlignment(AlignmentException e) {
// reset scribe/scanner to restart at this given location
this.resetAt(this.memberAlignment.location);
this.scanner.resetTo(this.memberAlignment.location.inputOffset, this.scanner.eofPosition);
// clean alignment chunkKind so it will think it is a new chunk again
this.memberAlignment.chunkKind = 0;
}
public void reset() {
this.checkLineWrapping = true;
this.line = 0;
this.column = 1;
this.editsIndex = 0;
this.nlsTagCounter = 0;
}
|
| |||
/*
public void printQualifiedReference(Name name) {
final int sourceEnd = name.getStartPosition() + name.getLength() - 1;
int currentTokenStartPosition = this.scanner.currentPosition;
try {
do {
this.printComment();
switch(this.currentToken = this.scanner.getNextToken()) {
case TerminalTokens.TokenNameEOF :
return;
case TerminalTokens.TokenNameWHITESPACE :
addDeleteEdit(this.scanner.getCurrentTokenStartPosition(), this.scanner.getCurrentTokenEndPosition());
currentTokenStartPosition = this.scanner.currentPosition;
break;
case TerminalTokens.TokenNameCOMMENT_BLOCK :
case TerminalTokens.TokenNameCOMMENT_JAVADOC :
this.printBlockComment(this.scanner.getRawTokenSource(), false);
currentTokenStartPosition = this.scanner.currentPosition;
break;
case TerminalTokens.TokenNameCOMMENT_LINE :
this.printCommentLine(this.scanner.getRawTokenSource());
currentTokenStartPosition = this.scanner.currentPosition;
break;
case TerminalTokens.TokenNameIdentifier :
case TerminalTokens.TokenNameDOT :
this.print(this.scanner.getRawTokenSource(), false);
currentTokenStartPosition = this.scanner.currentPosition;
break;
default:
this.scanner.resetTo(currentTokenStartPosition, this.scannerEndPosition - 1);
return;
}
} while (this.scanner.currentPosition <= sourceEnd);
} catch(InvalidInputException e) {
throw new AbortFormatting(e);
}
}
*/
private void printRule(StringBuffer stringBuffer) {
for (int i = 0; i < this.pageWidth; i++) {
if ((i % this.tabLength) == 0) {
stringBuffer.append('+');
}
else {
stringBuffer.append('-');
}
}
stringBuffer.append(this.lineSeparator);
for (int i = 0; i < (pageWidth / tabLength); i++) {
stringBuffer.append(i);
stringBuffer.append('\t');
}
}
public void printTrailingComment() {
try {
// if we have a space between two tokens we ensure it will be dumped in the formatted string
int currentTokenStartPosition = this.scanner.currentPosition;
boolean hasWhitespaces = false;
boolean hasComment = false;
boolean hasLineComment = false;
while ((this.currentToken = this.scanner.getNextToken()) != TerminalTokens.TokenNameEOF) {
switch (this.currentToken) {
case TerminalTokens.TokenNameWHITESPACE:
int count = 0;
char[] whiteSpaces = this.scanner.getCurrentTokenSource();
for (int i = 0, max = whiteSpaces.length; i < max; i++) {
switch (whiteSpaces[i]) {
case '\r':
if ((i + 1) < max) {
if (whiteSpaces[i + 1] == '\n') {
i++;
}
}
count++;
break;
case '\n':
count++;
}
}
if (hasLineComment) {
if (count >= 1) {
currentTokenStartPosition = this.scanner.getCurrentTokenStartPosition();
this.preserveEmptyLines(count, currentTokenStartPosition);
addDeleteEdit(currentTokenStartPosition, this.scanner.getCurrentTokenEndPosition());
this.scanner.resetTo(this.scanner.currentPosition, this.scannerEndPosition - 1);
return;
}
else {
this.scanner.resetTo(currentTokenStartPosition, this.scannerEndPosition - 1);
return;
}
}
else
if (count >= 1) {
if (hasComment) {
this.printNewLine(this.scanner.getCurrentTokenStartPosition());
}
this.scanner.resetTo(currentTokenStartPosition, this.scannerEndPosition - 1);
return;
}
else {
hasWhitespaces = true;
currentTokenStartPosition = this.scanner.currentPosition;
addDeleteEdit(this.scanner.getCurrentTokenStartPosition(), this.scanner.getCurrentTokenEndPosition());
}
break;
case TerminalTokens.TokenNameCOMMENT_LINE:
if (hasWhitespaces) {
space();
}
this.printCommentLine(this.scanner.getRawTokenSource());
currentTokenStartPosition = this.scanner.currentPosition;
hasLineComment = true;
break;
case TerminalTokens.TokenNameCOMMENT_BLOCK:
if (hasWhitespaces) {
space();
}
this.printBlockComment(this.scanner.getRawTokenSource(), false);
currentTokenStartPosition = this.scanner.currentPosition;
hasComment = true;
break;
default:
// step back one token
this.scanner.resetTo(currentTokenStartPosition, this.scannerEndPosition - 1);
return;
}
}
}
catch (InvalidInputException e) {
throw new AbortFormatting(e);
}
}
void redoAlignment(AlignmentException e) {
if (e.relativeDepth > 0) { // if exception targets a distinct context
e.relativeDepth--; // record fact that current context got traversed
this.currentAlignment = this.currentAlignment.enclosing; // pop currentLocation
throw e; // rethrow
}
// reset scribe/scanner to restart at this given location
this.resetAt(this.currentAlignment.location);
this.scanner.resetTo(this.currentAlignment.location.inputOffset, this.scanner.eofPosition);
// clean alignment chunkKind so it will think it is a new chunk again
this.currentAlignment.chunkKind = 0;
}
void redoMemberAlignment(AlignmentException e) {
// reset scribe/scanner to restart at this given location
this.resetAt(this.memberAlignment.location);
this.scanner.resetTo(this.memberAlignment.location.inputOffset, this.scanner.eofPosition);
// clean alignment chunkKind so it will think it is a new chunk again
this.memberAlignment.chunkKind = 0;
}
public void reset() {
this.checkLineWrapping = true;
this.line = 0;
this.column = 1;
this.editsIndex = 0;
this.nlsTagCounter = 0;
}
|
| CloneAbstraction |
| Parameter Index | Clone Instance | Parameter Name | Value |
|---|---|---|---|
| None | |||