AnalysisOptions.fromJson constructor

AnalysisOptions.fromJson(
  1. JsonDecoder jsonDecoder,
  2. String jsonPath,
  3. Object? json
)

Implementation

factory AnalysisOptions.fromJson(
    JsonDecoder jsonDecoder, String jsonPath, Object? json) {
  json ??= {};
  if (json is Map) {
    bool? enableAsync;
    if (json.containsKey('enableAsync')) {
      enableAsync = jsonDecoder.decodeBool(
          '$jsonPath.enableAsync', json['enableAsync']);
    }
    bool? enableDeferredLoading;
    if (json.containsKey('enableDeferredLoading')) {
      enableDeferredLoading = jsonDecoder.decodeBool(
          '$jsonPath.enableDeferredLoading', json['enableDeferredLoading']);
    }
    bool? enableEnums;
    if (json.containsKey('enableEnums')) {
      enableEnums = jsonDecoder.decodeBool(
          '$jsonPath.enableEnums', json['enableEnums']);
    }
    bool? enableNullAwareOperators;
    if (json.containsKey('enableNullAwareOperators')) {
      enableNullAwareOperators = jsonDecoder.decodeBool(
          '$jsonPath.enableNullAwareOperators',
          json['enableNullAwareOperators']);
    }
    bool? enableSuperMixins;
    if (json.containsKey('enableSuperMixins')) {
      enableSuperMixins = jsonDecoder.decodeBool(
          '$jsonPath.enableSuperMixins', json['enableSuperMixins']);
    }
    bool? generateDart2jsHints;
    if (json.containsKey('generateDart2jsHints')) {
      generateDart2jsHints = jsonDecoder.decodeBool(
          '$jsonPath.generateDart2jsHints', json['generateDart2jsHints']);
    }
    bool? generateHints;
    if (json.containsKey('generateHints')) {
      generateHints = jsonDecoder.decodeBool(
          '$jsonPath.generateHints', json['generateHints']);
    }
    bool? generateLints;
    if (json.containsKey('generateLints')) {
      generateLints = jsonDecoder.decodeBool(
          '$jsonPath.generateLints', json['generateLints']);
    }
    return AnalysisOptions(
        enableAsync: enableAsync,
        enableDeferredLoading: enableDeferredLoading,
        enableEnums: enableEnums,
        enableNullAwareOperators: enableNullAwareOperators,
        enableSuperMixins: enableSuperMixins,
        generateDart2jsHints: generateDart2jsHints,
        generateHints: generateHints,
        generateLints: generateLints);
  } else {
    throw jsonDecoder.mismatch(jsonPath, 'AnalysisOptions', json);
  }
}