| 972 | FunctionCallFrame::~FunctionCallFrame() {} |
| 973 | |
| 974 | Status FunctionCallFrame::SetArgs(gtl::ArraySlice<Tensor> args) { |
| 975 | // Input type checks. |
| 976 | if (args.size() != arg_types_.size()) { |
| 977 | return errors::InvalidArgument("Expects ", arg_types_.size(), |
| 978 | " arguments, but ", args.size(), |
| 979 | " is provided"); |
| 980 | } |
| 981 | for (size_t i = 0; i < args.size(); ++i) { |
| 982 | if (arg_types_[i] != args[i].dtype()) { |
| 983 | return errors::InvalidArgument( |
| 984 | "Expects arg[", i, "] to be ", DataTypeString(arg_types_[i]), " but ", |
| 985 | DataTypeString(args[i].dtype()), " is provided"); |
| 986 | } |
| 987 | args_[i] = args[i]; |
| 988 | } |
| 989 | return Status::OK(); |
| 990 | } |
| 991 | |
| 992 | Status FunctionCallFrame::GetRetvals(std::vector<Tensor>* rets) const { |
| 993 | rets->clear(); |