This logic is wrong IMO. the compiler code does not have access to the value on which the property is accessed (values will only be available when running the code, not when compiling it), so you are passing the wrong object to the PropertyAccessor