private Expression BuildPropertyAccessExpression(BoundPropertyAccessExpression expression) { var liftedInstance = BuildCachedExpression(expression.Target); var nullableResultType = expression.Type.GetNullableType(); return (Expression.Condition( BuildNullCheck(liftedInstance), BuildNullValue(nullableResultType), BuildInvocation(expression.Symbol, liftedInstance) )); }
private static Symbol GetSymbol(BoundPropertyAccessExpression expression) { return(expression.Symbol); }