if(st.hasMoreTokens()) { Object o = current.get(keyStroke); if(o instanceof Hashtable) current = ((Hashtable)o); else if(o != null) { // we have binding foo // but user asks to remove foo bar? current.remove(keyStroke); return; } else { // user asks to remove non-existent return; } } else current.remove(keyStroke);
if(st.hasMoreTokens()) { Object o = current.get(keyStroke); if(o instanceof Hashtable) { if(!st.hasMoreTokens()) return o; else current = (Hashtable)o; } else return o; } else { return current.get(keyStroke); }
Clone fragments detected by clone detection tool
File path: /jEdit-4.2/src/org/gjt/sp/jedit/gui/DefaultInputHandler.java File path: /jEdit-4.2/src/org/gjt/sp/jedit/gui/DefaultInputHandler.java
Method name: void removeKeyBinding(String) Method name: Object getKeyBinding(String)
Number of AST nodes: 9 Number of AST nodes: 8
1
if(st.hasMoreTokens())
1
if(st.hasMoreTokens())
2
			{
2
			{
3
				Object o = current.get(keyStroke);
3
				Object o = current.get(keyStroke);
4
				if(o instanceof Hashtable)
4
				if(o instanceof Hashtable)
5
					current = ((Hashtable)o);
5
				
6
				else if(o != null)
7
				{
8
					// we have binding foo
9
					// but user asks to remove foo bar?
6
{
7
					if(!st.hasMoreTokens())
8
						return o;
9
					else
10
					current.remove(keyStroke);
10
						current
11
					return;
12
				}
13
				else
14
				{
15
					// user asks to remove non-existent
11
 = (Hashtable)o;
12
				}
13
				else
16
					return;
14
					return o;
17
				}
15
			}
18
			}
16
			
19
			else
20
				
17
else
18
			{
21
current.remove(keyStroke);
19
				return current.get(keyStroke);
20
			}
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.1
Clones locationClones are declared in the same class
Number of node comparisons2