genInject method
Method
genInject(
- List<
ServiceInfo> services, - Element element,
- ConstantReader annotation,
- BuildStep buildStep,
- List<
Directive> imports,
inherited
统一的注入方法
Implementation
Method genInject(
List<T> services,
Element element,
ConstantReader annotation,
BuildStep buildStep,
List<Directive> imports,
) {
final servicesWithInjection = services
.where((s) => s.injectableFields.isNotEmpty)
.toList();
return Method(
(b) => b
..static = false
..annotations.add(CodeExpression(Code('override\n')))
..returns = refer('Future<void>')
..modifier = MethodModifier.async
..name = 'inject'
..docs.add('/// 为所有服务注入依赖')
..body = Code(
genInjectBody(
servicesWithInjection,
element,
annotation,
buildStep,
imports,
),
),
);
}