public ServiceMatcher( Type targetType, TypeCategories typeCategory, string namePostfix = null, IDictionary <string, Type> ctorExtraParamsType = null, bool allMethodsVoid = false, IOptimizationPackage optimizationPackage = null, params Type[] interfaces) { this.allMethodsVoid = allMethodsVoid; this.optimizationPackage = optimizationPackage; moduleBuilder = optimizationPackage?.moduleBuilder ?? CreateModuleBuilder(); typeContainer = optimizationPackage?.typeContainer ?? new DummyTypeContainer(); this.targetType = targetType; this.typeCategory = typeCategory; this.namePostfix = namePostfix ?? string.Empty; this.ctorExtraParamsType = ctorExtraParamsType ?? new Dictionary <string, Type>(); this.interfaces = interfaces; typeAttributes = new List <Tuple <Type, IDictionary <Type, object>, IDictionary <string, object> > >(); allMembersAttributes = new List <Tuple <Type, IDictionary <Type, object>, IDictionary <string, object> > >(); involvedAttributes = new List <Tuple <Type, IDictionary <Type, object>, IDictionary <string, object> > >(); involvedTypeMembersAttributes = new List <Tuple <Type, IDictionary <Type, object>, IDictionary <string, object> > >(); }
public OptimizationPackage(ModuleBuilder moduleBuilder, IGlobalTypeContainer typeContainer) { this.moduleBuilder = moduleBuilder; this.typeContainer = typeContainer; }