final WriterController controller = acg.getController();
final OperandStack operandStack = controller.getOperandStack();
final CompileStack compileStack = controller.getCompileStack();
// create a temporary variable to store the constructed object
final int tmpObj = compileStack.defineTemporaryVariable("tmpObj", declaringClass, false);
String classInternalName = BytecodeHelper.getClassInternalName(declaringClass);
mv.visitTypeInsn(NEW, classInternalName);
mv.visitInsn(DUP);
mv.visitMethodInsn(INVOKESPECIAL, classInternalName, "<init>", "()V", false);
mv.visitVarInsn(ASTORE, tmpObj); // store it into tmp variable