@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
/ *
* Copyright 2002 - 2015 the original author or authors .
* Copyright 2002 - 2016 the original author or authors .
*
* Licensed under the Apache License , Version 2 . 0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -371,10 +371,12 @@ public class PropertyOrFieldReference extends SpelNodeImpl {
@@ -371,10 +371,12 @@ public class PropertyOrFieldReference extends SpelNodeImpl {
@Override
public TypedValue getValue ( ) {
TypedValue value = this . ref . getValueInternal ( this . contextObject , this . evalContext , this . autoGrowNullReferences ) ;
if ( this . ref . cachedReadAccessor instanceof CompilablePropertyAccessor ) {
CompilablePropertyAccessor accessor = ( CompilablePropertyAccessor ) this . ref . cachedReadAccessor ;
this . ref . exitTypeDescriptor = CodeFlow . toDescriptor ( accessor . getPropertyType ( ) ) ;
TypedValue value =
this . ref . getValueInternal ( this . contextObject , this . evalContext , this . autoGrowNullReferences ) ;
PropertyAccessor accessorToUse = this . ref . cachedReadAccessor ;
if ( accessorToUse instanceof CompilablePropertyAccessor ) {
this . ref . exitTypeDescriptor =
CodeFlow . toDescriptor ( ( ( CompilablePropertyAccessor ) accessorToUse ) . getPropertyType ( ) ) ;
}
return value ;
}