/** * If the {@code node} is a {@link FullNameNode}, recursively convert its * subtree into {@link MemberAccessExpressionNode}. Otherwise, return * {@code node}. * * @param node Expression node. * @return If {@code node} is a {@link FullNameNode}, the result is a * {@link MemberAccessExpressionNode}; Otherwise, {@code node} is returned * unchanged. */ public static ExpressionNodeBase toMemberAccessExpressionNode(final ExpressionNodeBase node) { if (node instanceof FullNameNode) { final FullNameNode fullnameNode = (FullNameNode)node; final ExpressionNodeBase left = toMemberAccessExpressionNode(fullnameNode.leftOperandNode); final ExpressionNodeBase right = toMemberAccessExpressionNode(fullnameNode.rightOperandNode); final MemberAccessExpressionNode result = new MemberAccessExpressionNode(left, null, right); result.operatorStart = fullnameNode.operatorStart; result.setHasParenthesis(fullnameNode.hasParenthesis()); return result; } else { return node; } }
/** * If the {@code node} is a {@link FullNameNode}, recursively convert its * subtree into {@link MemberAccessExpressionNode}. Otherwise, return * {@code node}. * * @param node Expression node. * @return If {@code node} is a {@link FullNameNode}, the result is a * {@link MemberAccessExpressionNode}; Otherwise, {@code node} is returned * unchanged. */ public static ExpressionNodeBase toMemberAccessExpressionNode(final ExpressionNodeBase node) { if (node instanceof FullNameNode) { final FullNameNode fullnameNode = (FullNameNode)node; final ExpressionNodeBase left = toMemberAccessExpressionNode(fullnameNode.leftOperandNode); final ExpressionNodeBase right = toMemberAccessExpressionNode(fullnameNode.rightOperandNode); final MemberAccessExpressionNode result = new MemberAccessExpressionNode(left, null, right); result.operatorStart = fullnameNode.operatorStart; result.setHasParenthesis(fullnameNode.hasParenthesis()); return result; } else { return node; } }