forTypeWithVariableResolver static method

ResolvableType forTypeWithVariableResolver(
  1. Type type,
  2. VariableResolver? variableResolver
)

Returns a ResolvableType for the specified Type backed by a VariableResolver.

This factory method creates a ResolvableType with a specific VariableResolver for resolving type variables. This provides fine-grained control over how type variables are resolved in generic contexts.

Parameters:

  • type: The Type to create a ResolvableType for
  • variableResolver: Optional VariableResolver for type variable resolution

Returns:

  • ResolvableType with the specified VariableResolver

Example:

// Create a custom variable resolver
class CustomVariableResolver implements VariableResolver {
  @override
  Object getSource() => this;
  
  @override
  ResolvableType? resolveVariable(Object variable) {
    // Custom resolution logic
    if (variable == someTypeVariable) {
      return ResolvableType.forClass(String);
    }
    return null;
  }
}

final customResolver = CustomVariableResolver();
final typeWithResolver = ResolvableType.forTypeWithVariableResolver(
  someGenericType, 
  customResolver
);

// The type will use the custom resolver for type variable resolution

Implementation

static ResolvableType forTypeWithVariableResolver(Type type, VariableResolver? variableResolver) {
  return forTypeWithProviderAndResolver(type, null, variableResolver);
}