analyzeFunction static method

PointsToAnalysis analyzeFunction(
  1. FunctionIr ir
)

Creates and runs points-to analysis on a function IR.

Implementation

static PointsToAnalysis analyzeFunction(FunctionIr ir) {
  final extractor = FactExtractor();
  final facts = extractor.extractFromFunction(ir);

  final engine = PointsToEngineFactory.createWithImmutability();
  engine.loadFacts(facts);
  engine.run();

  final analysis = PointsToAnalysis._(engine, extractor);
  analysis._buildVarNameMap(extractor);
  return analysis;
}