public static void Inline(IList <IElement> elements, HashSet <int> inlineable)
        {
            var visitor = new AssignmentInliningVisitor(inlineable);

            visitor.VisitList(elements);
        }
        public void Inline(IList <IElement> elements, Func <int, bool> variableIndexPredicate)
        {
            var inlineable = AssignmentEstimatingVisitor.Estimate(elements, variableIndexPredicate);

            AssignmentInliningVisitor.Inline(elements, inlineable);
        }
 public static void Inline(IList<IElement> elements, HashSet<int> inlineable)
 {
     var visitor = new AssignmentInliningVisitor(inlineable);
     visitor.VisitList(elements);
 }