codegen: directlist