> -- Илья Ермаков писал(а):
> Это слово используется только как флаг для компилятора.Вот-вот...

Я пытался с помощью полей Kernel.Module.imports / Kernel.Module.nofimps получить список импорта - чего-то не понял результатов: для некоторых модулей результаты правильные, а для некоторых - нет. Определённо есть корреляция между присутствием в массиве Kernel.Module.imports значений NIL и импортом псевдомодулей. Хотя в обратную сторону, это не верно: если модуль импортировал псевдомодули, то не факт увидеть их или NIL в массиве Kernel.Module.imports.

Вобщем, если следующий код не печатает NIL-ы, то это еще не гарантирует того, что модуль на самом деле не импортирует псевдомодули:
## Код:
```
MODULE TestSafeCheck;

   IMPORT Kernel, Log, Meta;

   PROCEDURE Check (IN name: ARRAY OF CHAR);
      VAR m: Kernel.Module; i: INTEGER;
   BEGIN m := Kernel.ThisMod(name);
      IF m = NIL THEN Log.String("Модуль " + name + " не найден"); Log.Ln
      ELSE
         IF m.nofimps <= 0 THEN
            Log.String("Модуль " + name + " ничего не импортирует"); Log.Ln
         ELSE
            Log.String(name + ": ");
            FOR i := 0 TO m.nofimps - 1 DO
               IF m.imports[i] # NIL THEN
                  Log.String(m.imports[i].name$); Log.String("; ");
               ELSE
                  Log.String("NIL"); Log.String("; ");
               END
            END;
            Log.Ln
         END
      END
   END Check;
   
   PROCEDURE Do*;
   BEGIN
      Check("Kernel");
      Check("Meta");
      Check("TestSafeCheck");
   END Do;

END TestSafeCheck.
```

После выполнения TestSafeCheck.Do у меня печатается вот что:
> -- Цитата:
> Kernel: NIL; NIL; NIL; NIL; National; Meta: Kernel; National; TestSafeCheck: Kernel; Log; Meta;
Почему-то про модуль Meta "замалчивается" о том, что он тоже импортирует псевдомодуль, а про Kernel говорится как буд-то он импортирует всего 5 модулей (на самом деле 7).