forType static method

ResolvableType forType(
  1. Type type, [
  2. ResolvableType? owner
])

Returns a ResolvableType for the specified Type with optional owner context.

This is the most general factory method for creating ResolvableType instances. It can optionally take an owner ResolvableType to provide context for type variable resolution.

Parameters:

  • type: The Type to create a ResolvableType for
  • owner: Optional ResolvableType to provide context for type resolution

Returns:

  • ResolvableType representing the specified type

Example:

// Simple type creation
final stringType = ResolvableType.forType(String);
final listType = ResolvableType.forType(List<int>);

print(stringType.resolve()?.getType()); // String
print(listType.resolve()?.getType()); // List<int>

// With owner context for type variable resolution
final ownerType = ResolvableType.forClass(List<String>);
final contextualType = ResolvableType.forType(String, ownerType);

// Useful for general type creation
ResolvableType createType(Type type, [ResolvableType? context]) {
  return ResolvableType.forType(type, context);
}

// Batch type creation
List<ResolvableType> createTypes(List<Type> types) {
  return types.map((type) => ResolvableType.forType(type)).toList();
}

Implementation

static ResolvableType forType(Type type, [ResolvableType? owner]) {
  VariableResolver? variableResolver;
  if (owner != null) {
    variableResolver = owner.asVariableResolver();
  }
  return forTypeWithVariableResolver(type, variableResolver);
}