forType static method
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 forowner
: 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);
}