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