changed emit to vector<Decl*>