>>> (indent 6)
      if (!firstArgument.isString) {
        DartType type = defaultValue.getType(compiler.coreTypes);
        compiler.reportFatalError(
            send.arguments.head,
            MessageKind.NOT_ASSIGNABLE,
            {
          'fromType': type,
          'toType': compiler.stringClass.rawType
        });
        return null;
      }
<<<
      if (!firstArgument.isString) {
        DartType type = defaultValue.getType(compiler.coreTypes);
        compiler.reportFatalError(send.arguments.head,
            MessageKind.NOT_ASSIGNABLE, {
          'fromType': type,
          'toType': compiler.stringClass.rawType
        });
        return null;
      }