File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/type/TypeFactory.java | File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/type/TypeFactory.java | |||
Method name: Object[] assemble(Serializable[], Type[], SessionImplementor, Object)
|
Method name: Serializable[] disassemble(Object[], Type[], boolean[], SessionImplementor, Object)
|
|||
Number of AST nodes: 3 | Number of AST nodes: 3 | |||
1 | if ( row[i] == LazyPropertyInitializer.UNFETCHED_PROPERTY || row[i] == BackrefPropertyAccessor.UNKNOWN ) {↵ | 1 | if ( row[i] == LazyPropertyInitializer.UNFETCHED_PROPERTY || row[i] == BackrefPropertyAccessor.UNKNOWN ) {↵ | |
2 | assembled[i] = row[i];↵ | 2 | disassembled[i] = (Serializable) row[i];↵ | |
3 | }↵ | 3 | }↵ | |
4 | else {↵ | 4 | else {↵ | |
5 | assembled[i] = types[i].assemble( row[i], session, owner );↵ | 5 | disassembled[i] = types[i].disassemble( row[i], session, owner );↵ | |
6 | } | 6 |
| |
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.4 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 10 |
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.6 |
Clone type | Type 2 |
ID | Statement | ID | Statement | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
3 | if (row[i] == LazyPropertyInitializer.UNFETCHED_PROPERTY || row[i] == BackrefPropertyAccessor.UNKNOWN) |
| 5 | if (row[i] == LazyPropertyInitializer.UNFETCHED_PROPERTY || row[i] == BackrefPropertyAccessor.UNKNOWN) | |||||||||||||||
4 | assembled[i] = row[i]; |
| | ||||||||||||||||
else | | ||||||||||||||||||
5 | assembled[i] = types[i].assemble(row[i], session, owner); |
| | ||||||||||||||||
|
| 7 | disassembled[i] = types[i].disassemble(row[i], session, owner); | ||||||||||||||||
|
| 6 | disassembled[i] = (Serializable)row[i]; |
Row | Violation |
---|---|
1 | Type java.io.Serializable[] of variable row does not match with type java.lang.Object[] of variable row |
2 | Type java.io.Serializable[] of variable row does not match with type java.lang.Object[] of variable row |
3 | Unmatched statement assembled[i]=row[i]; cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
4 | Unmatched statement assembled[i]=types[i].assemble(row[i],session,owner); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
5 | Unmatched statement disassembled[i]=types[i].disassemble(row[i],session,owner); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
6 | Unmatched statement disassembled[i]=(Serializable)row[i]; cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |