/// <summary> /// We use this mapping as a cache of already computed callees info /// </summary> //public MethodEntityProcessor EntityProcessor { get; private set; } //public ISet<E> NodesProcessing = new HashSet<E>(); //public ISet<CallConext<M,E>> NodesProcessing = new HashSet<CallConext<M,E>>(); /// <summary> /// A method entity is built using the methods interface (params, return) and the propagation graph that is /// initially populated with the variables, parameters and calls of the method /// </summary> /// <param name="methodDescriptor"></param> /// <param name="mid"></param> /// <param name="propGraph"></param> /// <param name="instantiatedTypes"></param> public MethodEntity(MethodDescriptor methodDescriptor, MethodInterfaceData mid, PropagationGraph propGraph, IEnumerable<TypeDescriptor> instantiatedTypes) : base() { this.MethodDescriptor = methodDescriptor; this.EntityDescriptor = EntityFactory.Create(methodDescriptor); this.MethodInterfaceData = mid; this.PropGraph = propGraph; this.InstantiatedTypes = new HashSet<TypeDescriptor>(instantiatedTypes); }
/// <summary> /// We use this mapping as a cache of already computed callees info /// </summary> //public MethodEntityProcessor EntityProcessor { get; private set; } //public ISet<E> NodesProcessing = new HashSet<E>(); //public ISet<CallConext<M,E>> NodesProcessing = new HashSet<CallConext<M,E>>(); /// <summary> /// A method entity is built using the methods interface (params, return) and the propagation graph that is /// initially populated with the variables, parameters and calls of the method /// </summary> /// <param name="methodDescriptor"></param> /// <param name="mid"></param> /// <param name="propGraph"></param> /// <param name="instantiatedTypes"></param> public MethodEntity(MethodDescriptor methodDescriptor, MethodInterfaceData mid, PropagationGraph propGraph, IEntityDescriptor descriptor, IEnumerable<TypeDescriptor> instantiatedTypes, bool canBeAnalyzed = true) : base() { this.MethodDescriptor = methodDescriptor; this.EntityDescriptor = descriptor; // EntityFactory.Create(methodDescriptor); this.MethodInterfaceData = mid; this.propGraph = propGraph; this.InstantiatedTypes = new HashSet<TypeDescriptor>(instantiatedTypes); this.CanBeAnalized = canBeAnalyzed; }