命名空间 `i` 在哪里定义

Where is namespace `i` defined

正在研究V8引擎的源码。有一个名为 i 的命名空间,我猜它应该是 v8::internal 的别名,但我找不到它(或别名)的定义位置。

我已经使用 namespace iusing i = grep 了整个源代码树,但我找不到任何东西。

如下代码片段所示:

    if (!context.IsEmpty()) {
      i::Handle<i::Context> env = Utils::OpenHandle(*context);
      i::HandleScopeImplementer* impl = isolate->handle_scope_implementer();
......

如图https://github.com/v8/v8/blob/master/src/api/api.cc#L277

熟悉代码库的人能告诉我它是在哪里定义的吗?

可以在globals.h末尾找到:

namespace i = v8::internal;