public bool TryGetDuplicateExport( string fullTypeName, string memberName, out ExportedMethod exportedMethod) { return(this._DuplicateExportMethodsbyFullName.TryGetValue(AssemblyExports.GetKey(fullTypeName, memberName), out exportedMethod)); }
private void CheckForExportedMethods( Func <ExportedMethod> createExportMethod, ExtractExportHandler exportFilter, List <ExportedMethod> exportMethods, MethodDefinition mi) { IExportInfo exportInfo; if (!exportFilter(mi, out exportInfo)) { return; } ExportedMethod exportedMethod = createExportMethod(); exportedMethod.IsStatic = mi.IsStatic; exportedMethod.IsGeneric = mi.HasGenericParameters; StringBuilder stringBuilder = new StringBuilder(mi.Name, mi.Name.Length + 5); if (mi.HasGenericParameters) { stringBuilder.Append("<"); int num = 0; foreach (GenericParameter genericParameter in mi.GenericParameters) { ++num; if (num > 1) { stringBuilder.Append(","); } stringBuilder.Append(genericParameter.Name); } stringBuilder.Append(">"); } exportedMethod.MemberName = stringBuilder.ToString(); exportedMethod.AssignFrom(exportInfo); if (string.IsNullOrEmpty(exportedMethod.ExportName)) { exportedMethod.ExportName = mi.Name; } if (exportedMethod.CallingConvention == (CallingConvention)0) { exportedMethod.CallingConvention = CallingConvention.Winapi; } exportMethods.Add(exportedMethod); }
internal DuplicateExports(ExportedMethod usedExport) { this._UsedExport = usedExport; }