public static final Object readFlag = new Object();
public static final Object writeFlag = new Object();
@Override
public Instruction invokevirtual(String clsName, String methodName, String methodSignature) {
Instruction i = super.invokevirtual(clsName, methodName, methodSignature);
if (clsName.equals("java/net/Socket") && methodName.equals("connect")) {
i.setAttr(connectFlag);
} else if (clsName.equals("java/net/ServerSocket") && methodName.equals("accept")) {
i.setAttr(acceptFlag);
} else if (clsName.equals("java/io/InputStream") && methodName.equals("read")) {
i.setAttr(readFlag);
} else if (clsName.equals("java/io/OutputStream") && methodName.equals("write")) {
i.setAttr(writeFlag);
}
return i;
}