Previous CloneSet | Next CloneSet | Back to Main Report |
Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
---|---|---|---|---|
28 | 2 | 1 | 0.993 | compound_statement |
Clone Abstraction | Parameter Bindings |
Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
---|---|---|---|
1 | 29 | 1550 | InclusionConstraintGraph/Graph.h |
2 | 28 | 1585 | InclusionConstraintGraph/Graph.h |
| ||||
{ // bind indirect call node to function result node Node *included_node = function->GetFunctionResult()->TransitivelyCollapse(); if (indirect_call != included_node) { #if PERFORM_EXTENDED_ALREADY_INCLUDED_CHECKS if (!indirect_call->GetInclusionConstraints().IsIn(included_node)) { bool already_included=false; const SetOfNodes &inclusion_constraints = indirect_call->GetInclusionConstraints(); for (std::size_t ic=0; ic <inclusion_constraints.Size();ic++) { if (inclusion_constraints[ic] != included_node) { if (inclusion_constraints[ic]->TransitivelyCollapse() == included_node) { already_included = true; } } else { already_included = true; } } if (!already_included) { indirect_call->EstablishIncludes(included_node); changed_on_current_iteration = true; number_of_changes++; } } #else if (indirect_call->EstablishIncludes(included_node)) { changed_on_current_iteration = true; number_of_changes++; } #endif } } |
| ||||
{ Node *included_node = m_generic_function->GetFunctionResult()->TransitivelyCollapse(); if (indirect_call != included_node) { #if PERFORM_EXTENDED_ALREADY_INCLUDED_CHECKS if (!indirect_call->GetInclusionConstraints().IsIn(included_node)) { bool already_included=false; const SetOfNodes &inclusion_constraints = indirect_call->GetInclusionConstraints(); for (std::size_t ic=0; ic <inclusion_constraints.Size();ic++) { if (inclusion_constraints[ic] != included_node) { if (inclusion_constraints[ic]->TransitivelyCollapse() == included_node) { already_included = true; } } else { already_included = true; } } if (!already_included) { indirect_call->EstablishIncludes(included_node); changed_on_current_iteration = true; number_of_changes++; } } #else if (indirect_call->EstablishIncludes(included_node)) { changed_on_current_iteration = true; number_of_changes++; } #endif } } |
| |||
{ // bind indirect call node to function result node Node * included_node = [[#variablea8970c0]]->GetFunctionResult()->TransitivelyCollapse(); if (indirect_call != included_node) { #if PERFORM_EXTENDED_ALREADY_INCLUDED_CHECKS if (!indirect_call->GetInclusionConstraints().IsIn(included_node)) { bool already_included = false; const SetOfNodes &inclusion_constraints = indirect_call->GetInclusionConstraints(); for (std::size_t ic = 0; ic < inclusion_constraints.Size(); ic++) { if (inclusion_constraints[ic] != included_node) { if (inclusion_constraints[ic]->TransitivelyCollapse() == included_node) { already_included = true; } } else { already_included = true; } } if (!already_included) { indirect_call->EstablishIncludes(included_node); changed_on_current_iteration = true; number_of_changes++; } } #else if (indirect_call->EstablishIncludes(included_node)) { changed_on_current_iteration = true; number_of_changes++; } #endif } } |
CloneAbstraction |
Parameter Index | Clone Instance | Parameter Name | Value |
---|---|---|---|
1 | 1 | [[#a8970c0]] | m_generic_function |
1 | 2 | [[#a8970c0]] | function |