5 #ifndef V8_TORQUE_PARAMETER_DIFFERENCE_H_ 6 #define V8_TORQUE_PARAMETER_DIFFERENCE_H_ 10 #include "src/torque/types.h" 19 DCHECK_EQ(to.size(), from.size());
20 for (
size_t i = 0;
i < to.size(); ++
i) {
21 AddParameter(to[
i], from[
i]);
37 DCHECK_EQ(difference_.size(), other.difference_.size());
38 bool better_parameter_found =
false;
39 for (
size_t i = 0;
i < difference_.size(); ++
i) {
44 }
else if (a && b && a != b && (*a)->IsSubtypeOf(*b)) {
45 DCHECK(!(*b)->IsSubtypeOf(*a));
46 better_parameter_found =
true;
48 better_parameter_found =
true;
53 return better_parameter_found;
60 std::vector<base::Optional<const Type*>> difference_;
62 void AddParameter(
const Type* to,
const Type* from) {
63 if (from->IsSubtypeOf(to)) {
64 difference_.push_back(to);
65 }
else if (IsAssignableFrom(to, from)) {
66 difference_.push_back(base::nullopt);
77 #endif // V8_TORQUE_PARAMETER_DIFFERENCE_H_