writeGetterSignature static method

void writeGetterSignature(
  1. StringBuffer buffer, {
  2. required String name,
  3. String? type,
  4. bool isStatic = false,
  5. bool isPrivate = false,
  6. bool isNullable = false,
  7. bool isOverriding = false,
  8. String? returns,
  9. List<String>? customReturnLines,
})

Implementation

static void writeGetterSignature(
  StringBuffer buffer, {
  required String name,
  String? type,
  bool isStatic = false,
  bool isPrivate = false,
  bool isNullable = false,
  bool isOverriding = false,
  String? returns,
  List<String>? customReturnLines,
}) {
  if (isOverriding) {
    buffer.writeln('@override');
  }

  if (isStatic) {
    buffer.write('static ');
  }

  if (type != null) {
    final typeToWrite = !isNullable
        ? type
        : type.contains('?')
            ? type
            : '$type?';

    buffer.write('$typeToWrite ');
  }

  buffer.write('get ');

  final nameToWrite = !isPrivate
      ? name
      : name.startsWith('_')
          ? name
          : '_$name';

  buffer.write(nameToWrite);

  if (returns != null) {
    buffer.write(' => $returns');
    if (!returns.endsWith(';')) {
      buffer.write(';');
    }
  } else if (customReturnLines != null) {
    buffer.writeln('{');
    buffer.writeln(customReturnLines.join('\n'));
    buffer.writeln('}');
  } else {
    buffer.write(';');
  }
}