Esempio n. 1
0
 /// <summary>
 /// Creates a new loops analysis instance based on the given CFG.
 /// </summary>
 /// <typeparam name="TOrder">The underlying block order.</typeparam>
 /// <typeparam name="TDirection">The control-flow direction.</typeparam>
 /// <param name="cfg">The underlying CFG.</param>
 /// <returns>The created loops analysis.</returns>
 public static Loops <TOrder, TDirection> CreateLoops <TOrder, TDirection>(
     this CFG <TOrder, TDirection> cfg)
     where TOrder : struct, ITraversalOrder
     where TDirection : struct, IControlFlowDirection =>
 Loops <TOrder, TDirection> .Create(cfg);