| Previous CloneSet | Next CloneSet | Back to Main Report |
| Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
|---|---|---|---|---|
| 5 | 25 | 3 | 0.950 | block |
| Clone Abstraction | Parameter Bindings |
| Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
|---|---|---|---|
| 1 | 6 | 373 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AnnotationTypeMemberDeclaration.java |
| 2 | 7 | 292 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ArrayCreation.java |
| 3 | 6 | 235 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AssertStatement.java |
| 4 | 5 | 164 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BreakStatement.java |
| 5 | 7 | 361 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ClassInstanceCreation.java |
| 6 | 5 | 536 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ClassInstanceCreation.java |
| 7 | 5 | 979 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/CompilationUnit.java |
| 8 | 5 | 164 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ContinueStatement.java |
| 9 | 5 | 333 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/EnumConstantDeclaration.java |
| 10 | 5 | 272 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ForStatement.java |
| 11 | 5 | 322 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IfStatement.java |
| 12 | 5 | 192 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MemberRef.java |
| 13 | 6 | 860 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java |
| 14 | 5 | 271 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodInvocation.java |
| 15 | 5 | 224 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodRef.java |
| 16 | 5 | 334 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodRefParameter.java |
| 17 | 5 | 162 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ReturnStatement.java |
| 18 | 7 | 607 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java |
| 19 | 5 | 248 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SuperConstructorInvocation.java |
| 20 | 5 | 194 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SuperFieldAccess.java |
| 21 | 5 | 270 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SuperMethodInvocation.java |
| 22 | 5 | 164 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ThisExpression.java |
| 23 | 5 | 274 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TryStatement.java |
| 24 | 5 | 309 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationFragment.java |
| 25 | 5 | 241 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/WildcardType.java |
| ||||
{
// a AnnotationTypeMemberDeclaration may occur inside an Expression - must check cycles
ASTNode oldChild = this.optionalDefaultValue;
preReplaceChild(oldChild, defaultValue, DEFAULT_PROPERTY);
this.optionalDefaultValue = defaultValue;
postReplaceChild(oldChild, defaultValue, DEFAULT_PROPERTY);
}
|
| ||||
{
// an ArrayCreation may occur inside an ArrayInitializer
// must check cycles
ASTNode oldChild = this.optionalInitializer;
preReplaceChild(oldChild, initializer, INITIALIZER_PROPERTY);
this.optionalInitializer = initializer;
postReplaceChild(oldChild, initializer, INITIALIZER_PROPERTY);
}
|
| ||||
{
// an AsertStatement may occur inside an Expression - must check cycles
ASTNode oldChild = this.optionalMessageExpression;
preReplaceChild(oldChild, expression, MESSAGE_PROPERTY);
this.optionalMessageExpression = expression;
postReplaceChild(oldChild, expression, MESSAGE_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalLabel;
preReplaceChild(oldChild, label, LABEL_PROPERTY);
this.optionalLabel = label;
postReplaceChild(oldChild, label, LABEL_PROPERTY);
}
|
| ||||
{
// a ClassInstanceCreation may occur inside an Expression
// must check cycles
ASTNode oldChild = this.optionalExpression;
preReplaceChild(oldChild, expression, EXPRESSION_PROPERTY);
this.optionalExpression = expression;
postReplaceChild(oldChild, expression, EXPRESSION_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalAnonymousClassDeclaration;
preReplaceChild(oldChild, decl, ANONYMOUS_CLASS_DECLARATION_PROPERTY);
this.optionalAnonymousClassDeclaration = decl;
postReplaceChild(oldChild, decl, ANONYMOUS_CLASS_DECLARATION_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalPackageDeclaration;
preReplaceChild(oldChild, pkgDecl, PACKAGE_PROPERTY);
this.optionalPackageDeclaration = pkgDecl;
postReplaceChild(oldChild, pkgDecl, PACKAGE_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalLabel;
preReplaceChild(oldChild, label, LABEL_PROPERTY);
this.optionalLabel = label;
postReplaceChild(oldChild, label, LABEL_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalAnonymousClassDeclaration;
preReplaceChild(oldChild, decl, ANONYMOUS_CLASS_DECLARATION_PROPERTY);
this.optionalAnonymousClassDeclaration = decl;
postReplaceChild(oldChild, decl, ANONYMOUS_CLASS_DECLARATION_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalConditionExpression;
preReplaceChild(oldChild, expression, EXPRESSION_PROPERTY);
this.optionalConditionExpression = expression;
postReplaceChild(oldChild, expression, EXPRESSION_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalElseStatement;
preReplaceChild(oldChild, statement, ELSE_STATEMENT_PROPERTY);
this.optionalElseStatement = statement;
postReplaceChild(oldChild, statement, ELSE_STATEMENT_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalQualifier;
preReplaceChild(oldChild, name, QUALIFIER_PROPERTY);
this.optionalQualifier = name;
postReplaceChild(oldChild, name, QUALIFIER_PROPERTY);
}
|
| ||||
{
// a MethodDeclaration may occur in a Block - must check cycles
ASTNode oldChild = this.optionalBody;
preReplaceChild(oldChild, body, BODY_PROPERTY);
this.optionalBody = body;
postReplaceChild(oldChild, body, BODY_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalExpression;
preReplaceChild(oldChild, expression, EXPRESSION_PROPERTY);
this.optionalExpression = expression;
postReplaceChild(oldChild, expression, EXPRESSION_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalQualifier;
preReplaceChild(oldChild, name, QUALIFIER_PROPERTY);
this.optionalQualifier = name;
postReplaceChild(oldChild, name, QUALIFIER_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalParameterName;
preReplaceChild(oldChild, name, NAME_PROPERTY);
this.optionalParameterName = name;
postReplaceChild(oldChild, name, NAME_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalExpression;
preReplaceChild(oldChild, expression, EXPRESSION_PROPERTY);
this.optionalExpression = expression;
postReplaceChild(oldChild, expression, EXPRESSION_PROPERTY);
}
|
| ||||
{
// a SingleVariableDeclaration may occur inside an Expression
// must check cycles
ASTNode oldChild = this.optionalInitializer;
preReplaceChild(oldChild, initializer, INITIALIZER_PROPERTY);
this.optionalInitializer = initializer;
postReplaceChild(oldChild, initializer, INITIALIZER_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalExpression;
preReplaceChild(oldChild, expression, EXPRESSION_PROPERTY);
this.optionalExpression = expression;
postReplaceChild(oldChild, expression, EXPRESSION_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalQualifier;
preReplaceChild(oldChild, name, QUALIFIER_PROPERTY);
this.optionalQualifier = name;
postReplaceChild(oldChild, name, QUALIFIER_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalQualifier;
preReplaceChild(oldChild, name, QUALIFIER_PROPERTY);
this.optionalQualifier = name;
postReplaceChild(oldChild, name, QUALIFIER_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalQualifier;
preReplaceChild(oldChild, name, QUALIFIER_PROPERTY);
this.optionalQualifier = name;
postReplaceChild(oldChild, name, QUALIFIER_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalFinallyBody;
preReplaceChild(oldChild, block, FINALLY_PROPERTY);
this.optionalFinallyBody = block;
postReplaceChild(oldChild, block, FINALLY_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalInitializer;
preReplaceChild(oldChild, initializer, INITIALIZER_PROPERTY);
this.optionalInitializer = initializer;
postReplaceChild(oldChild, initializer, INITIALIZER_PROPERTY);
}
|
| ||||
{
ASTNode oldChild = this.optionalBound;
preReplaceChild(oldChild, type, BOUND_PROPERTY);
this.optionalBound = type;
postReplaceChild(oldChild, type, BOUND_PROPERTY);
}
|
| |||
{
// an ArrayCreation may occur inside an ArrayInitializer
// a SingleVariableDeclaration may occur inside an Expression
// a ClassInstanceCreation may occur inside an Expression
// must check cycles
// a AnnotationTypeMemberDeclaration may occur inside an Expression - must check cycles
// an AsertStatement may occur inside an Expression - must check cycles
// a MethodDeclaration may occur in a Block - must check cycles
ASTNode oldChild = this. [[#variableba2df9c0]];
preReplaceChild(oldChild, [[#variableba2df900]], [[#variableba2df8a0]]);
this. [[#variableba2df9c0]]= [[#variableba2df900]];
postReplaceChild(oldChild, [[#variableba2df900]], [[#variableba2df8a0]]);
}
|
| CloneAbstraction |
| Parameter Index | Clone Instance | Parameter Name | Value |
|---|---|---|---|
| 1 | 1 | [[#ba2df9c0]] | optionalExpression |
| 1 | 2 | [[#ba2df9c0]] | optionalInitializer |
| 1 | 3 | [[#ba2df9c0]] | optionalQualifier |
| 1 | 4 | [[#ba2df9c0]] | optionalLabel |
| 1 | 5 | [[#ba2df9c0]] | optionalAnonymousClassDeclaration |
| 1 | 6 | [[#ba2df9c0]] | optionalDefaultValue |
| 1 | 7 | [[#ba2df9c0]] | optionalMessageExpression |
| 1 | 8 | [[#ba2df9c0]] | optionalPackageDeclaration |
| 1 | 9 | [[#ba2df9c0]] | optionalConditionExpression |
| 1 | 10 | [[#ba2df9c0]] | optionalElseStatement |
| 1 | 11 | [[#ba2df9c0]] | optionalBody |
| 1 | 12 | [[#ba2df9c0]] | optionalParameterName |
| 1 | 13 | [[#ba2df9c0]] | optionalFinallyBody |
| 1 | 14 | [[#ba2df9c0]] | optionalBound |
| 1 | 15 | [[#ba2df9c0]] | optionalInitializer |
| 1 | 16 | [[#ba2df9c0]] | optionalQualifier |
| 1 | 17 | [[#ba2df9c0]] | optionalExpression |
| 1 | 18 | [[#ba2df9c0]] | optionalQualifier |
| 1 | 19 | [[#ba2df9c0]] | optionalQualifier |
| 1 | 20 | [[#ba2df9c0]] | optionalExpression |
| 1 | 21 | [[#ba2df9c0]] | optionalLabel |
| 1 | 22 | [[#ba2df9c0]] | optionalAnonymousClassDeclaration |
| 1 | 23 | [[#ba2df9c0]] | optionalQualifier |
| 1 | 24 | [[#ba2df9c0]] | optionalExpression |
| 1 | 25 | [[#ba2df9c0]] | optionalInitializer |
| 2 | 1 | [[#ba2df900]] | expression |
| 2 | 2 | [[#ba2df900]] | initializer |
| 2 | 3 | [[#ba2df900]] | name |
| 2 | 4 | [[#ba2df900]] | label |
| 2 | 5 | [[#ba2df900]] | decl |
| 2 | 6 | [[#ba2df900]] | defaultValue |
| 2 | 7 | [[#ba2df900]] | expression |
| 2 | 8 | [[#ba2df900]] | pkgDecl |
| 2 | 9 | [[#ba2df900]] | expression |
| 2 | 10 | [[#ba2df900]] | statement |
| 2 | 11 | [[#ba2df900]] | body |
| 2 | 12 | [[#ba2df900]] | name |
| 2 | 13 | [[#ba2df900]] | block |
| 2 | 14 | [[#ba2df900]] | type |
| 2 | 15 | [[#ba2df900]] | initializer |
| 2 | 16 | [[#ba2df900]] | name |
| 2 | 17 | [[#ba2df900]] | expression |
| 2 | 18 | [[#ba2df900]] | name |
| 2 | 19 | [[#ba2df900]] | name |
| 2 | 20 | [[#ba2df900]] | expression |
| 2 | 21 | [[#ba2df900]] | label |
| 2 | 22 | [[#ba2df900]] | decl |
| 2 | 23 | [[#ba2df900]] | name |
| 2 | 24 | [[#ba2df900]] | expression |
| 2 | 25 | [[#ba2df900]] | initializer |
| 3 | 1 | [[#ba2df8a0]] | EXPRESSION_PROPERTY |
| 3 | 2 | [[#ba2df8a0]] | INITIALIZER_PROPERTY |
| 3 | 3 | [[#ba2df8a0]] | QUALIFIER_PROPERTY |
| 3 | 4 | [[#ba2df8a0]] | LABEL_PROPERTY |
| 3 | 5 | [[#ba2df8a0]] | ANONYMOUS_CLASS_DECLARATION_PROPERTY |
| 3 | 6 | [[#ba2df8a0]] | DEFAULT_PROPERTY |
| 3 | 7 | [[#ba2df8a0]] | MESSAGE_PROPERTY |
| 3 | 8 | [[#ba2df8a0]] | PACKAGE_PROPERTY |
| 3 | 9 | [[#ba2df8a0]] | EXPRESSION_PROPERTY |
| 3 | 10 | [[#ba2df8a0]] | ELSE_STATEMENT_PROPERTY |
| 3 | 11 | [[#ba2df8a0]] | BODY_PROPERTY |
| 3 | 12 | [[#ba2df8a0]] | NAME_PROPERTY |
| 3 | 13 | [[#ba2df8a0]] | FINALLY_PROPERTY |
| 3 | 14 | [[#ba2df8a0]] | BOUND_PROPERTY |
| 3 | 15 | [[#ba2df8a0]] | INITIALIZER_PROPERTY |
| 3 | 16 | [[#ba2df8a0]] | QUALIFIER_PROPERTY |
| 3 | 17 | [[#ba2df8a0]] | EXPRESSION_PROPERTY |
| 3 | 18 | [[#ba2df8a0]] | QUALIFIER_PROPERTY |
| 3 | 19 | [[#ba2df8a0]] | QUALIFIER_PROPERTY |
| 3 | 20 | [[#ba2df8a0]] | EXPRESSION_PROPERTY |
| 3 | 21 | [[#ba2df8a0]] | LABEL_PROPERTY |
| 3 | 22 | [[#ba2df8a0]] | ANONYMOUS_CLASS_DECLARATION_PROPERTY |
| 3 | 23 | [[#ba2df8a0]] | QUALIFIER_PROPERTY |
| 3 | 24 | [[#ba2df8a0]] | EXPRESSION_PROPERTY |
| 3 | 25 | [[#ba2df8a0]] | INITIALIZER_PROPERTY |