Next: Import files from a
Up: Package Storage in the
Previous: char *DirectoryFor(char *pkg, int
A single-type-import declaration makes that type available.
void ImportType(char *typ)[5]
:
/* Define type names
* On entry-
* typ is the type to be made available
* If typ has a .java file then on exit-
* The .java file defining the type has been defined in FilRootEnv
***/
{ struct dirent *this_entry;
char *filePart, *dir;
struct stat status;
if (typ == NULL || (filePart = strrchr(typ, '.')) == NULL) return;
dir = DirectoryFor(typ, strlen(typ) - strlen(filePart++));
if (dir == NULL) return;
obstack_grow(Csm_obstk, dir, strlen(dir));
obstack_grow(Csm_obstk, filePart, strlen(filePart));
CsmStrPtr = obstack_copy0(Csm_obstk, ".java", 5);
if (stat(CsmStrPtr, &status) || !S_ISREG(status.st_mode)) {
(void)perror(CsmStrPtr);
obstack_free(Csm_obstk, CsmStrPtr);
return;
}
BindInScope(FilRootEnv, MakeName(CsmStrPtr));
}
This macro is invoked in definition 9.
2008-09-11