void psi_data_dump(int fd, struct psi_data *D)
{
- if (D->file.filename) {
- size_t i = 0;
- char *libname;
+ size_t i = 0;
+ char *libname;
- dprintf(fd, "// filename=%s (%u errors)\n", D->file.filename, D->errors);
- while (psi_plist_get(D->file.libnames, i++, &libname)) {
- dprintf(fd, "lib \"%s\";\n", libname);
- }
- } else {
- dprintf(fd, "// builtin predef\n");
+ if (D->file.filename) {
+ dprintf(fd, "// filename=%s (%u errors)\n", D->file.filename->val, D->errors);
+ }
+ while (psi_plist_get(D->file.libnames, i++, &libname)) {
+ dprintf(fd, "lib \"%s\";\n", libname);
}
if (psi_plist_count(D->types)) {
size_t i = 0;
struct psi_decl *decl;
while (psi_plist_get(D->decls, i++, &decl)) {
+ if (decl->extvar) {
+ dprintf(fd, "/* extvar accessor\n");
+ }
psi_decl_dump(fd, decl);
dprintf(fd, "\n");
+ if (decl->extvar) {
+ dprintf(fd, " extvar accessor */\n");
+ }
}
dprintf(fd, "\n");
}