# VariableResolver class abstract

Strategy interface used to resolve type variables in generic contexts.

VariableResolver provides a mechanism for resolving type variables (like T, K, V) to concrete types in generic type contexts. This is essential for proper type resolution in generic classes and methods.

Implementations should provide:

- A source object that represents the context of resolution
- Logic to resolve specific type variables to concrete ResolvableType instances

Example Implementation:

    class GenericClassResolver implements VariableResolver {
      final Map<Object, ResolvableType> _typeMapping;
      final Object _source;

      GenericClassResolver(this._source, this._typeMapping);

      @override
      Object getSource() => _source;

      @override
      ResolvableType? resolveVariable(Object variable) {
        return _typeMapping[variable];
      }
    }

    // Usage
    final resolver = GenericClassResolver(
      myGenericClass,
      {typeVariableT: ResolvableType.forClass(String)}
    );

## Constructors

VariableResolver.new()

## Properties

hashCode → int
  The hash code for this object.
  no setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited

## Methods

getSource() → Object
  Returns the source object that provides the context for type variable resolution.
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
resolveVariable(Object variable) → ResolvableType?
  Resolves the specified type variable to a concrete ResolvableType.
toString() → String
  A string representation of this object.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited