?? jumptargettest.java
字號:
/**
* Copyright (c) 2003-2004 Craig Setera
* All Rights Reserved.
* Licensed under the Eclipse Public License - v 1.0
* For more information see http://www.eclipse.org/legal/epl-v10.html
*/
package preverification.inputs;
import java.util.Vector;
import preverification.tests.ITestable;
import preverification.tests.TestException;
/**
* Type description
* <p />
* Copyright (c) 2003-2004 Craig Setera<br>
* All Rights Reserved.<br>
* Licensed under the Eclipse Public License - v 1.0<p/>
* <br>
* $Revision: 1.1 $
* <br>
* $Date: 2005/09/25 23:53:29 $
* <br>
* @author Craig Setera
*/
public class JumpTargetTest implements ITestable {
/**
* @see preverification.tests.ITestable#test(java.lang.Object[])
*/
public Object test(Object[] arguments)
throws TestException
{
Vector v = new Vector();
testJumps(v, arguments);
testLookupSwitch(v, arguments);
testTableSwitch(v, arguments);
return v;
}
/**
* @param v
* @param arguments
*/
private void testTableSwitch(Vector v, Object[] arguments) {
Integer i = (Integer) arguments[2];
switch (i.intValue()) {
case 0:
v.add(new Integer(0));
break;
case 1:
v.add(new Integer(1));
break;
case 2:
v.add(new Integer(2));
break;
default:
v.add(new Integer(-1));
break;
}
}
/**
* @param v
* @param arguments
*/
private void testLookupSwitch(Vector v, Object[] arguments) {
Integer i = (Integer) arguments[1];
switch (i.intValue()) {
case -100:
v.add(new Integer(-100));
break;
case 0:
v.add(new Integer(0));
break;
case 100:
v.add(new Integer(100));
break;
default:
v.add(new Integer(-1));
break;
}
}
/**
* @param v
* @param arguments
*/
private void testJumps(Vector v, Object[] arguments) {
int i = ((Integer) arguments[0]).intValue();
if (i == 0) {
v.add(new Integer(0));
} else if (i <= -5) {
v.add(new Integer(1));
} else if (i >= 5) {
v.add(new Integer(2));
} else {
v.add(new Integer(3));
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -