generate method

void generate({
  1. required IOSink fileSink,
  2. required String owner,
  3. bool isStatic = false,
})

Generates necessary code for calling lookup functions for SteamMethod

Implementation

void generate({
  required IOSink fileSink,
  required String owner,
  bool isStatic = false,
}) {
  if (isStatic) {
    fileSink.write("static ");
  }

  Token token = returnType.toToken();
  fileSink.write("${token.typeDart} $friendlyName(");

  params.generate(
    fileSink: fileSink,
    withDart: true,
    withName: true,
  );

  fileSink.write(") => ");

  fileSink.write(
    token.fieldAccessor.replaceAll(
      "{0}",
      "_$friendlyName.call(${!isStatic ? 'this,' : ''}${params.generateString(withCaller: true)})",
    ),
  );

  fileSink.writeln(";\n");
}