function guessConcreteType()

in src/generate.ts [309:318]


function guessConcreteType(type: reflect.InterfaceType): reflect.Type {
  const concreteClassName = type.name.substr(1); // Strip off the leading 'I'

  const parts = type.fqn.split('.');
  parts[parts.length - 1] = concreteClassName;
  const newFqn = parts.join('.');

  const newType = type.system.tryFindFqn(newFqn);
  return newType && newType.extends(type) ? newType : type;
}