final Object[] values = queryParameters .getFilteredPositionalParameterValues(); final Type[] types = queryParameters .getFilteredPositionalParameterTypes(); int span = 0; for (int i = 0; i < values.length; i++) { types[i].nullSafeSet( st, values[i], start + span, session ); span += types[i].getColumnSpan( session.getFactory() ); } return span;
final Object[] values = queryParameters.getFilteredPositionalParameterValues(); final Type[] types = queryParameters.getFilteredPositionalParameterTypes(); int span = 0; for ( int i = 0; i < values.length; i++ ) { types[i].nullSafeSet( statement, values[i], startIndex + span, session ); span += types[i].getColumnSpan( getFactory() ); } return span;
Clone fragments detected by clone detection tool
File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/engine/query/NativeSQLQueryPlan.java File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/loader/Loader.java
Method name: int bindPositionalParameters(PreparedStatement, QueryParameters, int, SessionImplementor) Method name: int bindPositionalParameters(PreparedStatement, QueryParameters, int, SessionImplementor)
Number of AST nodes: 7 Number of AST nodes: 7
1
final Object[] values = queryParameters
1
final Object[] values = queryParameters
2
				.getFilteredPositionalParameterValues();
2
.getFilteredPositionalParameterValues();
3
		final Type[] types = queryParameters
3
		final Type[] types = queryParameters
4
				.getFilteredPositionalParameterTypes();
4
.getFilteredPositionalParameterTypes();
5
		int span = 0;
5
		int span = 0;
6
		for (int i = 0; i < values.length; i++) {
6
		for ( int i = 0; i < values.length; i++ ) {
7
			types[i].nullSafeSet( st, values[i], start + span, session );
7
			types[i].nullSafeSet( statement, values[i], startIndex + span, session );
8
			span += types[i].getColumnSpan( session.getFactory() );
8
			span += types[i].getColumnSpan( getFactory() );
9
		}
9
		}
10
		return span;
10
		return span;
Summary
Number of common nesting structure subtrees1
Number of refactorable cases1
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.3
Clones locationClones are in different classes
Number of node comparisons25
  1. {Refactorable}
    Mapping Summary
    Number of mapped statements7
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)19.5
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    final Object[] values = queryParameters.getFilteredPositionalParameterValues();
    1
    final Object[] values = queryParameters.getFilteredPositionalParameterValues();
    2
    final Type[] types = queryParameters.getFilteredPositionalParameterTypes();
    2
    final Type[] types = queryParameters.getFilteredPositionalParameterTypes();
    3
    int span = 0;
    3
    int span = 0;
    4
    for (int i = 0; i < values.length; i++)
    4
    for (int i = 0; i < values.length; i++)
    5
    types[i].nullSafeSet(st, values[i], start + span, session);
    5
    types[i].nullSafeSet(st, values[i], start + span, session);
    5
    types[i].nullSafeSet(statement, values[i], startIndex + span, session);
    Differences
    Expression1Expression2Difference
    ststatementVARIABLE_NAME_MISMATCH
    startstartIndexVARIABLE_NAME_MISMATCH
    5
    types[i].nullSafeSet(statement, values[i], startIndex + span, session);
    6
    span += types[i].getColumnSpan(session.getFactory());
    6
    span += types[i].getColumnSpan(session.getFactory());
    6
    span += types[i].getColumnSpan(getFactory());
    Differences
    Expression1Expression2Difference
    sessionMISSING_METHOD_INVOCATION_EXPRESSION
    6
    span += types[i].getColumnSpan(getFactory());
    7
    return span;
    7
    return span;
    Precondition Violations (0)
    Row Violation