定義のある型を宣言順に。穴は飛ばす。
そのIDの型。名前だけが登録されていて定義が無いIDがありうる(参照だけされた型)ので、 在るか分からないIDを引くときはtryGetを使う(NameRegistryのgetId/tryGetIdと同じ揃え)。
そのIDの型。定義が無ければundefined(範囲外・穴のどちらも同じ扱い)。
範囲外を投げないのは、ここが「値をIDとして読んだ数」の着地点だから
(GlobalId.ts の objectGlobalIdOfPropertyValue)。著者が宣言へ書いた数がそのまま来るので、
どの型も指していないことがありうる——名前空間が配ったIDしか来ない
LocalIndexByGlobalId とは、そこが違う。
ロード済みの全 ObjectDef を、グローバルIDをそのままindexとする配列で保持する。
並びには穴が空く。 名前だけが登録されていて定義が無いID(参照だけされた型)がありうるので、 添字で辿る側はそれを踏む——型がundefinedを含むのはそのため。