StrNode strNode = (StrNode)whenNode.getExpressionNodes(); if (strNode.getValue().length() == 1) { return new int[] {strNode.getValue().get(0)}; } else { return new int[] {strNode.getValue().hashCode()}; }
if (whenNode.getExpressionNodes() instanceof SymbolNode) { SymbolNode symbolNode = (SymbolNode)whenNode.getExpressionNodes(); if (symbolNode.getName().length() == 1) { return new int[] {symbolNode.getName().charAt(0)}; } else { return new int[] {symbolNode.getName().hashCode()}; } }
Clone fragments detected by clone detection tool
File path: /jruby-1.4.0/src/org/jruby/compiler/ASTCompiler.java File path: /jruby-1.4.0/src/org/jruby/compiler/ASTCompiler.java
Method name: int[] getOptimizedCases(WhenNode) Method name: int[] getOptimizedCases(WhenNode)
Number of AST nodes: 4 Number of AST nodes: 5
1
StrNode str
1
if (whenNode.getExpressionNodes() instanceof SymbolNode) {
2
Node = (StrNode)whenNode.getExpressionNodes();
2
            SymbolNode symbolNode = (SymbolNode)whenNode.getExpressionNodes();
3
            if (strNode.getValue().length() == 1) {
3
            if (symbolNode.getName().length() == 1) {
4
                return new int[] {strNode.getValue().get(0)};
4
                return new int[] {symbolNode.getName().charAt(0)};
5
            } else {
5
            } else {
6
                return new int[] {strNode.getValue().hashCode()};
6
                return new int[] {symbolNode.getName().hashCode()};
7
            }
7
            }
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.3
Clones locationClones are in the same method
Number of node comparisons1