stExtraGetterName function

String stExtraGetterName(
  1. String name,
  2. STIrKind kind
)

Getter name for an extra: ghost + button → ghostButton.

Implementation

String stExtraGetterName(String name, STIrKind kind) {
  var id = stDartIdentifier(name);
  final lower = id.toLowerCase();
  switch (kind) {
    case STIrKind.button:
      if (!lower.endsWith('button')) id = '${id}Button';
    case STIrKind.card:
      if (!lower.endsWith('card')) id = '${id}Card';
    case STIrKind.container:
      if (!lower.endsWith('container')) id = '${id}Container';
    case STIrKind.text:
      break;
  }
  if (stDartReserved.contains(id) || stResolvedMemberNames.contains(id)) {
    id = '${id}Extra';
  }
  if (stDartReserved.contains(id)) id = '${id}_';
  return id;
}