Esempio n. 1
0
  private String renderFunctionType(JetType type, boolean shortNamesOnly) {
    StringBuilder sb = new StringBuilder();

    JetType receiverType = JetStandardClasses.getReceiverType(type);
    if (receiverType != null) {
      sb.append(renderType(receiverType, shortNamesOnly));
      sb.append(".");
    }

    sb.append("(");
    appendTypeProjections(
        sb, JetStandardClasses.getParameterTypeProjectionsFromFunctionType(type), shortNamesOnly);
    sb.append(") -> ");
    sb.append(renderType(JetStandardClasses.getReturnTypeFromFunctionType(type), shortNamesOnly));

    if (type.isNullable()) {
      return "(" + sb + ")?";
    }
    return sb.toString();
  }