in instrumentation/src/com/intellij/rt/coverage/instrumentation/filters/branches/JavaStringSwitchFilter.java [113:129]
public void visitMethodInsn(int opcode, String owner, String name, String descriptor, boolean isInterface) {
super.visitMethodInsn(opcode, owner, name, descriptor, isInterface);
if (myState == 3
&& opcode == Opcodes.INVOKEVIRTUAL
&& "java/lang/String".equals(owner)
&& "hashCode".equals(name)
&& "()I".equals(descriptor)) {
myState++;
} else if (myState == 7 && opcode == Opcodes.INVOKEVIRTUAL
&& "java/lang/String".equals(owner)
&& "equals".equals(name)
&& "(Ljava/lang/Object;)Z".equals(descriptor)) {
myState++;
} else {
myState = 0;
}
}