dumpFacts method

void dumpFacts()

Dumps all facts for debugging.

Implementation

void dumpFacts() {
  print('=== Input Facts ===');
  for (final relation in ['Assign', 'Alloc', 'Flow', 'LoadField', 'StoreField', 'Call']) {
    final facts = _engine.query(relation);
    if (facts.isNotEmpty) {
      print('$relation:');
      for (final fact in facts) {
        print('  $fact');
      }
    }
  }

  print('\n=== Derived Facts ===');
  for (final relation in [
    'VarPointsTo',
    'HeapPointsTo',
    'Reachable',
    'Mutable',
    'DeepImmutable',
    'CallGraph'
  ]) {
    final facts = _engine.query(relation);
    if (facts.isNotEmpty) {
      print('$relation:');
      for (final fact in facts) {
        print('  $fact');
      }
    }
  }
}