Previous CloneSet | Next CloneSet | Back to Main Report |
Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
---|---|---|---|---|
24 | 2 | 4 | 0.955 | labeled_statement |
Clone Abstraction | Parameter Bindings |
Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
---|---|---|---|
1 | 24 | 2540 | InclusionConstraintGraph/Graph.h |
2 | 24 | 2565 | InclusionConstraintGraph/Graph.h |
| ||||
case L'A': { // get from node std::size_t from; GetNumber(from); // skip separator SkipCharacter(L':'); // get to node std::size_t to; GetNumber(to); // skip newline SkipNewline(); // collect statistics map_node_number_to_node[from].statistics.explicit_parameters_or_arguments++; // add argument const SequenceOfNodes &arguments = map_node_number_to_node[from].node->GetIndirectCallArguments(); if (map_node_number_to_node[from].statistics.explicit_parameters_or_arguments > arguments.Size()) { map_node_number_to_node[from].node->AddIndirectCallArgument(map_node_number_to_node[to].node); if (map_node_number_to_node[from].node->GetOnPath() != Node::IsMarked) { // node is existing node? changed_on_read = true; } } else { assert(arguments[map_node_number_to_node[from].statistics.explicit_parameters_or_arguments -1] ==map_node_number_to_node[to].node); } break; } |
| ||||
case L'E': { // get from node std::size_t from; GetNumber(from); // skip separator SkipCharacter(L':'); // get to node std::size_t to; GetNumber(to); // skip newline SkipNewline(); // collect statistics map_node_number_to_node[from].statistics.explicit_parameters_or_arguments++; // add field const SequenceOfNodes &object_fields = map_node_number_to_node[from].node->GetObjectFields(); if (map_node_number_to_node[from].statistics.explicit_parameters_or_arguments > object_fields.Size()) { map_node_number_to_node[from].node->AddObjectField(map_node_number_to_node[to].node); if (map_node_number_to_node[from].node->GetOnPath() != Node::IsMarked) { // node is existing node? changed_on_read = true; } } else { assert(object_fields[map_node_number_to_node[from].statistics.explicit_parameters_or_arguments -1] ==map_node_number_to_node[to].node); } break; } |
| |||
case [[#variablea890c60]]: { // get from node std::size_t from; GetNumber(from); // skip separator SkipCharacter(L':'); // get to node std::size_t to; GetNumber(to); // skip newline SkipNewline(); // collect statistics map_node_number_to_node[from].statistics.explicit_parameters_or_arguments++; // add field // add argument const SequenceOfNodes &[[#variablea890c00]] = map_node_number_to_node[from].node->[[#variablea890b80]](); if (map_node_number_to_node[from].statistics.explicit_parameters_or_arguments > [[#variablea890c00]].Size()) { map_node_number_to_node[from].node->[[#variablea890b00]](map_node_number_to_node[to].node); if (map_node_number_to_node[from].node->GetOnPath() != Node::IsMarked) { // node is existing node? changed_on_read = true; } } else { assert([[#variablea890c00]][map_node_number_to_node[from].statistics.explicit_parameters_or_arguments - 1] == map_node_number_to_node[to].node); } break; } |
CloneAbstraction |
Parameter Index | Clone Instance | Parameter Name | Value |
---|---|---|---|
1 | 1 | [[#a890c60]] | L'E' |
1 | 2 | [[#a890c60]] | L'A' |
2 | 1 | [[#a890c00]] | object_fields |
2 | 2 | [[#a890c00]] | arguments |
3 | 1 | [[#a890b80]] | GetObjectFields |
3 | 2 | [[#a890b80]] | GetIndirectCallArguments |
4 | 1 | [[#a890b00]] | AddObjectField |
4 | 2 | [[#a890b00]] | AddIndirectCallArgument |