RubyFixnum currentExceptionMode = (RubyFixnum)runtime.fastGetClass("BigDecimal")
.searchInternalModuleVariable("vpExceptionMode");
RubyFixnum EXCEPTION_NaN = (RubyFixnum)runtime.fastGetClass("BigDecimal")
.fastGetConstant("EXCEPTION_NaN");
return (currentExceptionMode.getLongValue() & EXCEPTION_NaN.getLongValue()) != 0;
RubyFixnum currentExceptionMode = (RubyFixnum)runtime.fastGetClass("BigDecimal")
.searchInternalModuleVariable("vpExceptionMode");
RubyFixnum EXCEPTION_OVERFLOW = (RubyFixnum)runtime.fastGetClass("BigDecimal")
.fastGetConstant("EXCEPTION_OVERFLOW");
return (currentExceptionMode.getLongValue() & EXCEPTION_OVERFLOW.getLongValue()) != 0;
Clone fragments detected by clone detection tool
File path: /jruby-1.4.0/src/org/jruby/RubyBigDecimal.java
|
|
File path: /jruby-1.4.0/src/org/jruby/RubyBigDecimal.java
|
Method name: boolean isNaNExceptionMode(Ruby)
|
|
Method name: boolean isOverflowExceptionMode(Ruby)
|
Number of AST nodes: 3
|
|
Number of AST nodes: 3
|
|
1 | RubyFixnum currentExceptionMode = (RubyFixnum)runtime.fastGetClass("BigDecimal")↵ | | 1 | RubyFixnum currentExceptionMode = (RubyFixnum)runtime.fastGetClass("BigDecimal")↵
|
2 | .searchInternalModuleVariable("vpExceptionMode");↵ | | 2 | .searchInternalModuleVariable("vpExceptionMode");↵
|
3 | RubyFixnum EXCEPTION_NaN = (RubyFixnum)runtime.fastGetClass("BigDecimal")↵ | | 3 | RubyFixnum EXCEPTION_OVERFLOW = (RubyFixnum)runtime.fastGetClass("BigDecimal")↵
|
4 | .fastGetConstant("EXCEPTION_NaN");↵ | | 4 | .fastGetConstant("EXCEPTION_OVERFLOW");↵
|
5 | return (currentExceptionMode.getLongValue() & EXCEPTION_NaN.getLongValue()) != 0; | | 5 | return (currentExceptionMode.getLongValue() & EXCEPTION_OVERFLOW.getLongValue()) != 0;
|
See real code fragment |
|
See real code fragment |
Summary
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 1 |
Number of non-refactorable cases | 0 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.0 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 9 |
-
{Refactorable}
Mapping Summary
Number of mapped statements | 3 |
Number of unmapped statements in the first code fragment | 0 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 0.0 |
Clone type | Type 2 |
Mapped Statements
ID |
Statement |
|
ID |
Statement |
1 | RubyFixnum currentExceptionMode = (RubyFixnum)runtime.fastGetClass("BigDecimal").searchInternalModuleVariable("vpExceptionMode"); | | 1 | RubyFixnum currentExceptionMode = (RubyFixnum)runtime.fastGetClass("BigDecimal").searchInternalModuleVariable("vpExceptionMode"); |
2 | RubyFixnum EXCEPTION_NaN = (RubyFixnum)runtime.fastGetClass("BigDecimal").fastGetConstant("EXCEPTION_NaN"); | | 2 | RubyFixnum EXCEPTION_OVERFLOW = (RubyFixnum)runtime.fastGetClass("BigDecimal").fastGetConstant("EXCEPTION_OVERFLOW"); |
3 | return (currentExceptionMode.getLongValue() & EXCEPTION_NaN.getLongValue()) != 0; | | 3 | return (currentExceptionMode.getLongValue() & EXCEPTION_OVERFLOW.getLongValue()) != 0; |
Precondition Violations (0)
Row |
Violation |