| 892 | } |
| 893 | |
| 894 | Status MutableGraphView::AddRegularFanin(absl::string_view node_name, |
| 895 | const TensorId& fanin) { |
| 896 | auto error_status = [node_name, fanin](absl::string_view msg) { |
| 897 | string params = absl::Substitute("node_name='$0', fanin='$1'", node_name, |
| 898 | fanin.ToString()); |
| 899 | return MutationError("AddRegularFanin", params, msg); |
| 900 | }; |
| 901 | |
| 902 | TF_RETURN_IF_ERROR(CheckFaninIsRegular(fanin, error_status)); |
| 903 | TF_RETURN_IF_ERROR(CheckAddingFaninToSelf(node_name, fanin, error_status)); |
| 904 | NodeDef* node = GetNode(node_name); |
| 905 | TF_RETURN_IF_ERROR(CheckNodeExists(node_name, node, error_status)); |
| 906 | NodeDef* fanin_node = GetNode(fanin.node()); |
| 907 | TF_RETURN_IF_ERROR(CheckNodeExists(fanin.node(), fanin_node, error_status)); |
| 908 | |
| 909 | AddFaninInternal(node, {fanin_node, fanin.index()}); |
| 910 | return Status::OK(); |
| 911 | } |
| 912 | |
| 913 | Status MutableGraphView::AddRegularFaninByPort(absl::string_view node_name, |
| 914 | int port, |