Exemple #1
0
 public HashedFirstMethodOrder(
     IDecodeMetaData <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly> md,
     IMethodOrder <Method, Type> underlyingMethodOrder)
 {
     this.md         = md;
     this.underlying = underlyingMethodOrder;
 }
Exemple #2
0
        public MethodNumbers(MethodNumbering numbering, IMethodOrder <Method, Type> methodOrder, bool includeCalleesTransitively)
        {
            this.methodsNumbered = new List <Pair <Method, int> >();
            this.methodOrder     = methodOrder;

            this.ordered = methodOrder.OrderedMethods().ToList();
            foreach (var m in this.ordered)
            {
                var index = numbering.Next();
                if (this.number.ContainsKey(m))
                {
                    continue;              // there may be repetition when we used the constructor first approach
                }
                this.number.Add(m, index); // we really want numbering.Next() called only once per method
                this.methodsNumbered.Add(Pair.For(m, index));
            }

            this.selected = new Set <Method>(methodOrder.SelectedMethods(this.methodsNumbered, includeCalleesTransitively));
        }