job = getPrintJob(); job.setJobName(buffer.getPath()); boolean header = jEdit.getBooleanProperty("print.header"); boolean footer = jEdit.getBooleanProperty("print.footer"); boolean lineNumbers = jEdit.getBooleanProperty("print.lineNumbers"); boolean color = jEdit.getBooleanProperty("print.color"); Font font = jEdit.getFontProperty("print.font"); BufferPrintable printable = new BufferPrintable(job,null,view, buffer,font,header,footer,lineNumbers,color); job.setPrintable(printable,format); if(!job.printDialog()) return; printable.print();
job = getPrintJob(buffer.getPath()); boolean header = jEdit.getBooleanProperty("print.header"); boolean footer = jEdit.getBooleanProperty("print.footer"); boolean lineNumbers = jEdit.getBooleanProperty("print.lineNumbers"); boolean color = jEdit.getBooleanProperty("print.color"); Font font = jEdit.getFontProperty("print.font"); BufferPrintable printable = new BufferPrintable(job,format,view, buffer,font,header,footer,lineNumbers,color); job.setPrintable(printable); if(!job.printDialog(format)) return; savePrintSpec(); printable.print();
Clone fragments detected by clone detection tool
File path: /jEdit-4.2/src/org/gjt/sp/jedit/print/BufferPrinter1_3.java File path: /jEdit-4.2/src/org/gjt/sp/jedit/print/BufferPrinter1_4.java
Method name: void print(View, Buffer, boolean) Method name: void print(View, Buffer, boolean)
Number of AST nodes: 12 Number of AST nodes: 12
1
job = getPrintJob();
1
job = getPrintJob(
2
		job.setJobName(buffer.getPath());
2
buffer.getPath());
3
		boolean header = jEdit.getBooleanProperty("print.header");
3
		boolean header = jEdit.getBooleanProperty("print.header");
4
		boolean footer = jEdit.getBooleanProperty("print.footer");
4
		boolean footer = jEdit.getBooleanProperty("print.footer");
5
		boolean lineNumbers = jEdit.getBooleanProperty("print.lineNumbers");
5
		boolean lineNumbers = jEdit.getBooleanProperty("print.lineNumbers");
6
		boolean color = jEdit.getBooleanProperty("print.color");
6
		boolean color = jEdit.getBooleanProperty("print.color");
7
		Font font = jEdit.getFontProperty("print.font");
7
		Font font = jEdit.getFontProperty("print.font");
8
		BufferPrintable printable = new BufferPrintable(job,null,view,
8
		BufferPrintable printable = new BufferPrintable(job,format,view,
9
			buffer,font,header,footer,lineNumbers,color);
9
			buffer,font,header,footer,lineNumbers,color);
10
		job.setPrintable(printable,format);
10
		job.setPrintable(printable);
11
		if(!job.printDialog())
11
		if(!job.printDialog(format))
12
			return;
12
			return;
13
		savePrintSpec();
13
		printable.print();
14
		printable.print();
Summary
Number of common nesting structure subtrees1
Number of refactorable cases0
Number of non-refactorable cases1
Time elapsed for finding largest common nesting structure subtrees (ms)0.2
Clones locationClones are in different classes
Number of node comparisons71
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements12
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)5.2
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    job = getPrintJob();
    1
    job = getPrintJob();
    1
    job = getPrintJob(buffer.getPath());
    Differences
    Expression1Expression2Difference
    getPrintJob()getPrintJob(buffer.getPath())ARGUMENT_NUMBER_MISMATCH
    1
    job = getPrintJob(buffer.getPath());
    2
    job.setJobName(buffer.getPath());
    2
    job.setJobName(buffer.getPath());
    11
    savePrintSpec();
    Differences
    Expression1Expression2Difference
    setJobNamesavePrintSpecMETHOD_INVOCATION_NAME_MISMATCH
    job.setJobName(buffer.getPath())savePrintSpec()ARGUMENT_NUMBER_MISMATCH
    jobMISSING_METHOD_INVOCATION_EXPRESSION
    Preondition Violations
    Expression job.setJobName(buffer.getPath()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression savePrintSpec() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    • Inline private method savePrintSpec
    Expression job.setJobName(buffer.getPath()) is a void method call, and thus it cannot be parameterized
    Expression savePrintSpec() is a void method call, and thus it cannot be parameterized
    Expression job.setJobName(buffer.getPath()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression savePrintSpec() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    • Inline private method savePrintSpec
    Expression job.setJobName(buffer.getPath()) is a void method call, and thus it cannot be parameterized
    Expression savePrintSpec() is a void method call, and thus it cannot be parameterized
    11
    savePrintSpec();
    3
    boolean header = jEdit.getBooleanProperty("print.header");
    2
    boolean header = jEdit.getBooleanProperty("print.header");
    4
    boolean footer = jEdit.getBooleanProperty("print.footer");
    3
    boolean footer = jEdit.getBooleanProperty("print.footer");
    5
    boolean lineNumbers = jEdit.getBooleanProperty("print.lineNumbers");
    4
    boolean lineNumbers = jEdit.getBooleanProperty("print.lineNumbers");
    6
    boolean color = jEdit.getBooleanProperty("print.color");
    5
    boolean color = jEdit.getBooleanProperty("print.color");
    7
    Font font = jEdit.getFontProperty("print.font");
    6
    Font font = jEdit.getFontProperty("print.font");
    8
    BufferPrintable printable = new BufferPrintable(job, null, view, buffer, font, header, footer, lineNumbers, color);
    8
    BufferPrintable printable = new BufferPrintable(job, null, view, buffer, font, header, footer, lineNumbers, color);
    7
    BufferPrintable printable = new BufferPrintable(job, format, view, buffer, font, header, footer, lineNumbers, color);
    Differences
    Expression1Expression2Difference
    nullformatTYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Expression format cannot be parameterized, because it has dependencies to/from statements that will be extracted
    7
    BufferPrintable printable = new BufferPrintable(job, format, view, buffer, font, header, footer, lineNumbers, color);
    9
    job.setPrintable(printable, format);
    9
    job.setPrintable(printable, format);
    8
    job.setPrintable(printable);
    Differences
    Expression1Expression2Difference
    job.setPrintable(printable,format)job.setPrintable(printable)ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression job.setPrintable(printable,format) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression job.setPrintable(printable) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression job.setPrintable(printable,format) is a void method call, and thus it cannot be parameterized
    Expression job.setPrintable(printable) is a void method call, and thus it cannot be parameterized
    8
    job.setPrintable(printable);
    10
    if (!job.printDialog())
    10
    if (!job.printDialog())
    9
    if (!job.printDialog(format))
    Differences
    Expression1Expression2Difference
    job.printDialog()job.printDialog(format)ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression job.printDialog() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression job.printDialog(format) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    9
    if (!job.printDialog(format))
    11
    return;
    10
    return;
    12
    printable.print();
    12
    printable.print();
    Precondition Violations (15)
    Row Violation
    1Expression job.setJobName(buffer.getPath()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Expression savePrintSpec() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3Expression job.setJobName(buffer.getPath()) is a void method call, and thus it cannot be parameterized
    4Expression savePrintSpec() is a void method call, and thus it cannot be parameterized
    5Expression job.setJobName(buffer.getPath()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    6Expression savePrintSpec() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    7Expression job.setJobName(buffer.getPath()) is a void method call, and thus it cannot be parameterized
    8Expression savePrintSpec() is a void method call, and thus it cannot be parameterized
    9Expression format cannot be parameterized, because it has dependencies to/from statements that will be extracted
    10Expression job.setPrintable(printable,format) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    11Expression job.setPrintable(printable) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    12Expression job.setPrintable(printable,format) is a void method call, and thus it cannot be parameterized
    13Expression job.setPrintable(printable) is a void method call, and thus it cannot be parameterized
    14Expression job.printDialog() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    15Expression job.printDialog(format) cannot be parameterized, because it has dependencies to/from statements that will be extracted