私はテスト方法を持っています:
public List<User> getUsers(){
List list = new ArrayList();
return list;
}
そのため、メソッドに2つのforループコードを挿入したいのですが、新しいリストの前後に、同じasmコードがあります:
final int returnValueStackNum = adapter.newLocal(Type.INT_TYPE);
mv.visitInsn(Opcodes.ICONST_0);
mv.visitVarInsn(Opcodes.ISTORE, returnValueStackNum);
final Label l0 = new Label();
mv.visitJumpInsn(Opcodes.GOTO, l0);
final Label l1 = new Label();
mv.visitLabel(l1);
mv.visitIincInsn(returnValueStackNum, 1);
mv.visitLabel(l0);
mv.visitVarInsn(Opcodes.ILOAD, returnValueStackNum);
mv.visitIntInsn(Opcodes.BIPUSH, 10);
mv.visitJumpInsn(Opcodes.IF_ICMPLT, l1);
新しいクラス ファイルの最初の for ループは正しいですが、2 番目の for ループは正しくなく、リターンが失われます。コードは同じです。
List list = new ArrayList();
for (int i = 0; i < 10; i++);
int j = 0;
tmpTernaryOp = localArrayList;
while (j < 10)
j++;
どこに問題がありますか、どうもありがとう