/** * Process an property access expression node for nullability * * @param PropertyAccessExpression $expression The property access * expression node to process. * @param AbstractExpression $parentExpression The parent expression of * expression node to process. * @param boolean $checkNullForMostChild Wheter to check null for * most child node or not. * * @return LogicalExpression, RelationalExpression or NULL */ private function _processPropertyAccessNode(PropertyAccessExpression $expression, $parentExpression, $checkNullForMostChild) { $navigationsUsed = $expression->getNavigationPropertiesInThePath(); if (!empty($navigationsUsed)) { $this->_navigationPropertiesUsedInTheExpression[] = $navigationsUsed; } $nullableExpTree = $expression->createNullableExpressionTree($checkNullForMostChild); if ($parentExpression == null) { return new LogicalExpression($nullableExpTree, $expression, ExpressionType::AND_LOGICAL); } return $nullableExpTree; }