Prior to this commit, if a Spring Expression Language (SpEL) expression referenced the root context object via the #root or #this variable, we inserted a checkcast in the generated byte code that cast the object to its concrete type. However if the root context object's type was non-public, that resulted in an IllegalAccessError when the compiled byte code was executed. VariableReference.getValueInternal() already contains a solution for global variables which inserts a checkcast to Object in the generated byte code instead of to the object's concrete non-public type. This commit therefore applies the same logic to #root (or #this when used to reference the root context object) that is already applied to global variables. Closes gh-32356 |
||
---|---|---|
.. | ||
core | ||
data-access | ||
integration | ||
languages | ||
testing | ||
web | ||
appendix.adoc | ||
core.adoc | ||
data-access.adoc | ||
index.adoc | ||
integration.adoc | ||
languages.adoc | ||
overview.adoc | ||
page-layout.adoc | ||
rsocket.adoc | ||
testing.adoc | ||
web-reactive.adoc | ||
web.adoc |