try { future.get(); } catch (CancellationException ce) { // ignore; job was cancelled // FIXME: is this ok? }
if (currentLock != null) { try { currentLock.release(); } catch (IOException e) { throw getRuntime().newIOError(e.getMessage()); } }
Clone fragments detected by clone detection tool
File path: /jruby-1.4.0/src/org/jruby/internal/runtime/FutureThread.java File path: /jruby-1.4.0/src/org/jruby/RubyFile.java
Method name: void join() Method name: IRubyObject close()
Number of AST nodes: 2 Number of AST nodes: 3
1
if (currentLock != null) {
1
try {
2
            try {
2
            future.get();
3
                currentLock.release();
3
        } catch (CancellationException ce) {
4
            } catch (IOException e) {
4
            // ignore; job was cancelled
5
             
5
            // FIXME: is this ok?
6
   throw getRuntime().newIOError(e.getMessage());
7
            }
6
        }
8
        }
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.1
Clones locationClones are in different classes
Number of node comparisons1