Good question, reflective code emission won't work on some platforms. We think this will only be an issue for eval. In the future we'll probably have options for disabling eval while retaining macros for AOT.
IL2CPP seeks to provide similar functionality as AOT platforms supported by mono today (e.g. iOS). If something works on iOS, it has a very good chance of running on an IL2CPP supported platform.