5#ifndef V8_TORQUE_TYPE_INFERENCE_H_
6#define V8_TORQUE_TYPE_INFERENCE_H_
10#include <unordered_map>
59 const std::vector<TypeExpression*>& term_parameters,
60 const std::vector<std::optional<const Type*>>& term_argument_types);
std::unordered_map< std::string, size_t > type_parameter_from_name_
TypeVector GetResult() const
TypeArgumentInference(const GenericParameters &type_parameters, const TypeVector &explicit_type_arguments, const std::vector< TypeExpression * > &term_parameters, const std::vector< std::optional< const Type * > > &term_argument_types)
std::optional< std::string > failure_reason_
void Fail(std::string reason)
std::vector< std::optional< const Type * > > inferred_
void MatchGeneric(BasicTypeExpression *parameter, const Type *argument_type)
void Match(TypeExpression *parameter, const Type *argument_type)
const std::string & GetFailureReason()
std::vector< GenericParameter > GenericParameters
std::vector< const Type * > TypeVector