/*
    This file is generated just to tell build scripts that JSWorkerGlobalScopeNotifications.h and
    JSWorkerGlobalScopeNotifications.cpp are created for WorkerGlobalScopeNotifications.idl, and thus
    prevent the build scripts from trying to generate JSWorkerGlobalScopeNotifications.h and
    JSWorkerGlobalScopeNotifications.cpp at every build. This file must not be tried to compile.
*/
