| Previous CloneSet | Next CloneSet | Back to Main Report |
| Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
|---|---|---|---|---|
| 6 | 20 | 3 | 0.957 | class_body_declaration |
| Clone Abstraction | Parameter Bindings |
| Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
|---|---|---|---|
| 1 | 6 | 231 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 2 | 6 | 302 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 3 | 6 | 324 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 4 | 6 | 395 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 5 | 6 | 466 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 6 | 6 | 536 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 7 | 6 | 676 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 8 | 6 | 830 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 9 | 6 | 1189 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 10 | 6 | 1473 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 11 | 6 | 1549 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 12 | 6 | 1690 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 13 | 6 | 1734 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 14 | 6 | 1824 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 15 | 6 | 1929 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 16 | 6 | 2025 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 17 | 6 | 2047 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 18 | 6 | 2069 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 19 | 6 | 2168 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| 20 | 6 | 2190 | plugins/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java |
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(AnonymousClassDeclaration node, Object other) {
if ( !(other instanceof AnonymousClassDeclaration)) {
return false;
}
AnonymousClassDeclaration o = (AnonymousClassDeclaration) other;
return safeSubtreeListMatch(node.bodyDeclarations(), o.bodyDeclarations());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(ArrayInitializer node, Object other) {
if ( !(other instanceof ArrayInitializer)) {
return false;
}
ArrayInitializer o = (ArrayInitializer) other;
return safeSubtreeListMatch(node.expressions(), o.expressions());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(ArrayType node, Object other) {
if ( !(other instanceof ArrayType)) {
return false;
}
ArrayType o = (ArrayType) other;
return safeSubtreeMatch(node.getComponentType(), o.getComponentType());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(Block node, Object other) {
if ( !(other instanceof Block)) {
return false;
}
Block o = (Block) other;
return safeSubtreeListMatch(node.statements(), o.statements());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(BreakStatement node, Object other) {
if ( !(other instanceof BreakStatement)) {
return false;
}
BreakStatement o = (BreakStatement) other;
return safeSubtreeMatch(node.getLabel(), o.getLabel());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(CharacterLiteral node, Object other) {
if ( !(other instanceof CharacterLiteral)) {
return false;
}
CharacterLiteral o = (CharacterLiteral) other;
return safeEquals(node.getEscapedValue(), o.getEscapedValue());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(ContinueStatement node, Object other) {
if ( !(other instanceof ContinueStatement)) {
return false;
}
ContinueStatement o = (ContinueStatement) other;
return safeSubtreeMatch(node.getLabel(), o.getLabel());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(ExpressionStatement node, Object other) {
if ( !(other instanceof ExpressionStatement)) {
return false;
}
ExpressionStatement o = (ExpressionStatement) other;
return safeSubtreeMatch(node.getExpression(), o.getExpression());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
* @since 3.1
*/
public boolean match(MarkerAnnotation node, Object other) {
if ( !(other instanceof MarkerAnnotation)) {
return false;
}
MarkerAnnotation o = (MarkerAnnotation) other;
return safeSubtreeMatch(node.getTypeName(), o.getTypeName());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(NumberLiteral node, Object other) {
if ( !(other instanceof NumberLiteral)) {
return false;
}
NumberLiteral o = (NumberLiteral) other;
return safeEquals(node.getToken(), o.getToken());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(ParenthesizedExpression node, Object other) {
if ( !(other instanceof ParenthesizedExpression)) {
return false;
}
ParenthesizedExpression o = (ParenthesizedExpression) other;
return safeSubtreeMatch(node.getExpression(), o.getExpression());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(ReturnStatement node, Object other) {
if ( !(other instanceof ReturnStatement)) {
return false;
}
ReturnStatement o = (ReturnStatement) other;
return safeSubtreeMatch(node.getExpression(), o.getExpression());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(SimpleType node, Object other) {
if ( !(other instanceof SimpleType)) {
return false;
}
SimpleType o = (SimpleType) other;
return safeSubtreeMatch(node.getName(), o.getName());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(StringLiteral node, Object other) {
if ( !(other instanceof StringLiteral)) {
return false;
}
StringLiteral o = (StringLiteral) other;
return safeEquals(node.getEscapedValue(), o.getEscapedValue());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(SwitchCase node, Object other) {
if ( !(other instanceof SwitchCase)) {
return false;
}
SwitchCase o = (SwitchCase) other;
return safeSubtreeMatch(node.getExpression(), o.getExpression());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
* @since 3.0
*/
public boolean match(TextElement node, Object other) {
if ( !(other instanceof TextElement)) {
return false;
}
TextElement o = (TextElement) other;
return safeEquals(node.getText(), o.getText());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(ThisExpression node, Object other) {
if ( !(other instanceof ThisExpression)) {
return false;
}
ThisExpression o = (ThisExpression) other;
return safeSubtreeMatch(node.getQualifier(), o.getQualifier());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(ThrowStatement node, Object other) {
if ( !(other instanceof ThrowStatement)) {
return false;
}
ThrowStatement o = (ThrowStatement) other;
return safeSubtreeMatch(node.getExpression(), o.getExpression());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(TypeDeclarationStatement node, Object other) {
if ( !(other instanceof TypeDeclarationStatement)) {
return false;
}
TypeDeclarationStatement o = (TypeDeclarationStatement) other;
return safeSubtreeMatch(node.getDeclaration(), o.getDeclaration());
}
|
| ||||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
public boolean match(TypeLiteral node, Object other) {
if ( !(other instanceof TypeLiteral)) {
return false;
}
TypeLiteral o = (TypeLiteral) other;
return safeSubtreeMatch(node.getType(), o.getType());
}
|
| |||
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
*/
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
* @since 3.1
*/
/**
* Returns whether the given node and the other object match.
* <p>
* The default implementation provided by this class tests whether the
* other object is a node of the same type with structurally isomorphic
* child subtrees. Subclasses may override this method as needed.
* </p>
*
* @param node the node
* @param other the other object, or <code>null</code>
* @return <code>true</code> if the subtree matches, or
* <code>false</code> if they do not match or the other object has a
* different node type or is <code>null</code>
* @since 3.0
*/
public boolean match( [[#variableb8ee31a0]] node, Object other) {
if ( !(other instanceof [[#variableb8ee31a0]])) {
return false;
}
[[#variableb8ee31a0]] o = ( [[#variableb8ee31a0]]) other;
return [[#variableb8ee30e0]](node. [[#variableb8ee3060]](), o. [[#variableb8ee3060]]());
}
|
| CloneAbstraction |
| Parameter Index | Clone Instance | Parameter Name | Value |
|---|---|---|---|
| 1 | 1 | [[#b8ee31a0]] | AnonymousClassDeclaration |
| 1 | 2 | [[#b8ee31a0]] | ArrayInitializer |
| 1 | 3 | [[#b8ee31a0]] | ArrayType |
| 1 | 4 | [[#b8ee31a0]] | Block |
| 1 | 5 | [[#b8ee31a0]] | BreakStatement |
| 1 | 6 | [[#b8ee31a0]] | CharacterLiteral |
| 1 | 7 | [[#b8ee31a0]] | ContinueStatement |
| 1 | 8 | [[#b8ee31a0]] | ExpressionStatement |
| 1 | 9 | [[#b8ee31a0]] | MarkerAnnotation |
| 1 | 10 | [[#b8ee31a0]] | NumberLiteral |
| 1 | 11 | [[#b8ee31a0]] | ParenthesizedExpression |
| 1 | 12 | [[#b8ee31a0]] | ReturnStatement |
| 1 | 13 | [[#b8ee31a0]] | SimpleType |
| 1 | 14 | [[#b8ee31a0]] | StringLiteral |
| 1 | 15 | [[#b8ee31a0]] | SwitchCase |
| 1 | 16 | [[#b8ee31a0]] | TextElement |
| 1 | 17 | [[#b8ee31a0]] | ThisExpression |
| 1 | 18 | [[#b8ee31a0]] | ThrowStatement |
| 1 | 19 | [[#b8ee31a0]] | TypeDeclarationStatement |
| 1 | 20 | [[#b8ee31a0]] | TypeLiteral |
| 2 | 1 | [[#b8ee30e0]] | safeSubtreeListMatch |
| 2 | 2 | [[#b8ee30e0]] | safeSubtreeListMatch |
| 2 | 3 | [[#b8ee30e0]] | safeSubtreeMatch |
| 2 | 4 | [[#b8ee30e0]] | safeSubtreeListMatch |
| 2 | 5 | [[#b8ee30e0]] | safeSubtreeMatch |
| 2 | 6 | [[#b8ee30e0]] | safeEquals |
| 2 | 7 | [[#b8ee30e0]] | safeSubtreeMatch |
| 2 | 8 | [[#b8ee30e0]] | safeSubtreeMatch |
| 2 | 9 | [[#b8ee30e0]] | safeSubtreeMatch |
| 2 | 10 | [[#b8ee30e0]] | safeEquals |
| 2 | 11 | [[#b8ee30e0]] | safeSubtreeMatch |
| 2 | 12 | [[#b8ee30e0]] | safeSubtreeMatch |
| 2 | 13 | [[#b8ee30e0]] | safeSubtreeMatch |
| 2 | 14 | [[#b8ee30e0]] | safeEquals |
| 2 | 15 | [[#b8ee30e0]] | safeSubtreeMatch |
| 2 | 16 | [[#b8ee30e0]] | safeEquals |
| 2 | 17 | [[#b8ee30e0]] | safeSubtreeMatch |
| 2 | 18 | [[#b8ee30e0]] | safeSubtreeMatch |
| 2 | 19 | [[#b8ee30e0]] | safeSubtreeMatch |
| 2 | 20 | [[#b8ee30e0]] | safeSubtreeMatch |
| 3 | 1 | [[#b8ee3060]] | bodyDeclarations |
| 3 | 2 | [[#b8ee3060]] | expressions |
| 3 | 3 | [[#b8ee3060]] | getComponentType |
| 3 | 4 | [[#b8ee3060]] | statements |
| 3 | 5 | [[#b8ee3060]] | getLabel |
| 3 | 6 | [[#b8ee3060]] | getEscapedValue |
| 3 | 7 | [[#b8ee3060]] | getLabel |
| 3 | 8 | [[#b8ee3060]] | getExpression |
| 3 | 9 | [[#b8ee3060]] | getTypeName |
| 3 | 10 | [[#b8ee3060]] | getToken |
| 3 | 11 | [[#b8ee3060]] | getExpression |
| 3 | 12 | [[#b8ee3060]] | getExpression |
| 3 | 13 | [[#b8ee3060]] | getName |
| 3 | 14 | [[#b8ee3060]] | getEscapedValue |
| 3 | 15 | [[#b8ee3060]] | getExpression |
| 3 | 16 | [[#b8ee3060]] | getText |
| 3 | 17 | [[#b8ee3060]] | getQualifier |
| 3 | 18 | [[#b8ee3060]] | getExpression |
| 3 | 19 | [[#b8ee3060]] | getDeclaration |
| 3 | 20 | [[#b8ee3060]] | getType |