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