Merge pull request #2745 from lambdageek/dev/monoerror-sre-internals
authormonojenkins <jo.shields+jenkins@xamarin.com>
Thu, 17 Mar 2016 21:35:31 +0000 (21:35 +0000)
committermonojenkins <jo.shields+jenkins@xamarin.com>
Thu, 17 Mar 2016 21:35:31 +0000 (21:35 +0000)
commitca7b692f45fc088f8797cbe1435300df6383c131
tree944634d4a65638d7f316afb42fa93a56086d58d7
parentff7d80856ea338fa2e09e9fedb62ca42bd02862d
parent36bd9d88394465e14c20a82408e88d93c7756c80
Merge pull request #2745 from lambdageek/dev/monoerror-sre-internals

[System.Reflection.Emit] Propagate MonoError through some more static functions

Some externally visible changes include:
* Bubble MonoError up to one more SRE icall: `System.Reflection.Emit.CustomAttributeBuilder.GetBlob()`
* `fix_partial_generic_class` and `ensure_generic_class_runtime_vtable` now expect their callers to set the class failure state which they do under slightly more circumstances now than previously (now: whenever there's an error set from the above functions; before: only when we had trouble initializing the generic type definition.)
* Previous API for `mono_reflection_bind_generic_parameters` didn't make it clear whether NULL was a valid return value or not.  Now when we return NULL we always set the `error` out-arg. So non-NULL is success and NULL is failure.