generateStaticProxy function

Class generateStaticProxy(
  1. ClassElement abstractMapper
)

Implementation

Class generateStaticProxy(ClassElement abstractMapper) {
  return Class(
    (b) => b
      ..name = '${abstractMapper.displayName}\$'
      ..fields.add(Field((f) =>
        f..name = "mapper"
         ..modifier = FieldModifier.final$
         ..type = refer(abstractMapper.thisType.getDisplayString(withNullability: true))
         ..assignment = refer('${abstractMapper.name}Impl()').code
         ..static = true
      ))
      ..methods.addAll(abstractMapper.methods
          .where((method) => method.isAbstract)
          .map((method) =>
              buildStaticMethod(method, abstractMapper))),
  );
}