public MethodEntity(MethodDescriptor methodDescriptor, MethodInterfaceData mid, PropagationGraph propGraph, IEntityDescriptor descriptor, IEnumerable <TypeDescriptor> instantiatedTypes, IDictionary <AnonymousMethodDescriptor, MethodEntity> anonymousMethods, CodeGraphModel.DeclarationAnnotation declarationInfo, CodeGraphModel.SymbolReference referenceInfo) : this(methodDescriptor, mid, propGraph, descriptor, instantiatedTypes) { this.anonymousMethods = anonymousMethods; this.DeclarationInfo = declarationInfo; this.ReferenceInfo = referenceInfo; }
/// <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) { this.MethodDescriptor = methodDescriptor; this.EntityDescriptor = descriptor; // EntityFactory.Create(methodDescriptor); this.MethodInterfaceData = mid; this.propGraph = propGraph; this.CanBeAnalized = canBeAnalyzed; this.InstantiatedTypes = new HashSet <TypeDescriptor>(instantiatedTypes); this.anonymousMethods = new Dictionary <AnonymousMethodDescriptor, MethodEntity>(); }