init method

Future<void> init()

Implementation

Future<void> init() async {
  if (!context.config.cacheEnabled) return;

  if (await _cacheFile.exists()) {
    try {
      var content = await _cacheFile.readAsString();
      final rawJson = jsonDecode(content) as Map<String, dynamic>;

      _cache = {};
      if (rawJson.containsKey('issues_found')) {
        _cache.addAll(rawJson['issues_found'] as Map<String, dynamic>);
      }
      if (rawJson.containsKey('perfect_files')) {
        _cache.addAll(rawJson['perfect_files'] as Map<String, dynamic>);
      }

      // Fallback for old cache format
      if (!rawJson.containsKey('issues_found') &&
          !rawJson.containsKey('perfect_files')) {
        _cache = rawJson;
      }
    } catch (e) {
      context.logger.verboseLog('Failed to read cache: $e');
      _cache = {};
    }
  }
  _initialized = true;
}