File path: /jruby-1.4.0/src/org/jruby/RubyString.java | File path: /jruby-1.4.0/src/org/jruby/runtime/ThreadContext.java | |||
Method name: IRubyObject op_mul19(ThreadContext, IRubyObject)
|
Method name: Frame preForBlock(Binding, RubyModule)
|
|||
Number of AST nodes: 3 | Number of AST nodes: 3 | |||
1 | RubyString result = multiplyByteList(context, other);↵ | |||
2 | result.copyCodeRangeForSubstr(this, result.value.encoding = value.encoding↵ | 1 | Frame lastFrame = preYieldNoScope(binding, klass);↵ | |
3 | );↵ | 2 | pushScope(binding.getDynamicScope());↵ | |
4 | return result; | 3 | return lastFrame; | |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.0 |
Clones location | Clones are in different classes |
Number of node comparisons | 9 |
Number of mapped statements | 1 |
Number of unmapped statements in the first code fragment | 2 |
Number of unmapped statements in the second code fragment | 2 |
Time elapsed for statement mapping (ms) | 0.0 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Frame lastFrame = preYieldNoScope(binding, klass); | ||||||||||||||||||||||
1 | RubyString result = multiplyByteList(context, other); | | ||||||||||||||||||||||
2 | result.copyCodeRangeForSubstr(this, result.value.encoding = value.encoding); |
| 2 | pushScope(binding.getDynamicScope()); | ||||||||||||||||||||
|
| 3 | return lastFrame; | |||||||||||||||||||||
3 | return result; |
| |
Row | Violation |
---|---|
1 | Expression result.copyCodeRangeForSubstr(this,result.value.encoding=value.encoding) is a void method call, and thus it cannot be parameterized |
2 | Expression pushScope(binding.getDynamicScope()) is a void method call, and thus it cannot be parameterized |
3 | Expression result.copyCodeRangeForSubstr(this,result.value.encoding=value.encoding) is a void method call, and thus it cannot be parameterized |
4 | Expression pushScope(binding.getDynamicScope()) is a void method call, and thus it cannot be parameterized |
5 | Unmatched return lastFrame; |
6 | Unmatched return result; |