isAssignableFromResolvable method

bool isAssignableFromResolvable(
  1. ResolvableType other
)

Determines whether this ResolvableType is assignable from another ResolvableType.

This method performs comprehensive assignability checking between two ResolvableType instances, considering generic types, inheritance, and interface implementations.

Parameters:

  • other: The ResolvableType to check assignability from

Returns:

  • true if this type is assignable from the other ResolvableType
  • false if assignment would not be valid

Example:

final listType = ResolvableType.forClass(List<Object>);
final stringListType = ResolvableType.forClass(List<String>);
final iterableType = ResolvableType.forClass(Iterable<String>);

print(listType.isAssignableFromResolvable(stringListType)); // depends on variance
print(iterableType.isAssignableFromResolvable(stringListType)); // true - List implements Iterable

// Useful for generic type validation
bool validateGenericAssignment(ResolvableType target, ResolvableType source) {
  return target.isAssignableFromResolvable(source);
}

Implementation

bool isAssignableFromResolvable(ResolvableType other) {
  return isAssignableFrom(other, false, null, false);
}