[runtime] Fix monitor exception throwing
[mono.git] / mcs / tools / tuner / MonoMac.Tuner / MonoMacProfile.cs
1 using System;
2 using System.Collections.Generic;
3
4 using Mono.Tuner;
5
6 using Mono.Cecil;
7
8 namespace MonoMac.Tuner {
9
10         class MonoMacProfile : Profile {
11
12                 static readonly HashSet<string> Sdk = new HashSet<string> {
13                         "mscorlib",
14                         "I18N.CJK",
15                         "I18N",
16                         "I18N.MidEast",
17                         "I18N.Other",
18                         "I18N.Rare",
19                         "I18N.West",
20                         "Microsoft.Build.Engine",
21                         "Microsoft.Build.Framework",
22                         "Microsoft.Build.Tasks.v4.0",
23                         "Microsoft.Build.Utilities.v4.0",
24                         "Microsoft.CSharp",
25                         "Microsoft.Web.Infrastructure",
26                         "Mono.C5",
27                         "Mono.Cairo",
28                         "Mono.CodeContracts",
29                         "Mono.CompilerServices.SymbolWriter",
30                         "Mono.Configuration.Crypto",
31                         "Mono.CSharp",
32                         "Mono.Data.Sqlite",
33                         "Mono.Data.Tds",
34                         "Mono.Debugger.Soft",
35                         "Mono.Http",
36                         "Mono.Management",
37                         "Mono.Messaging",
38                         "Mono.Messaging.RabbitMQ",
39                         "Mono.Options",
40                         "Mono.Parallel",
41                         "Mono.Posix",
42                         "Mono.Security",
43                         "Mono.Security.Win32",
44                         "Mono.Simd",
45                         "Mono.Tasklets",
46                         "Mono.Tuner",
47                         "Mono.WebBrowser",
48                         "Mono.Web",
49                         "Novell.Directory.Ldap",
50                         "Npgsql",
51                         "OpenSystem.C",
52                         "PEAPI",
53                         "System.ComponentModel.Composition",
54                         "System.ComponentModel.DataAnnotations",
55                         "System.Configuration",
56                         "System.Configuration.Install",
57                         "System.Core",
58                         "System.Data.DataSetExtensions",
59                         "System.Data",
60                         "System.Data.Linq",
61                         "System.Data.OracleClient",
62                         "System.Data.Services.Client",
63                         "System.Data.Services",
64                         "System.Design",
65                         "System.DirectoryServices",
66                         "System",
67                         "System.Drawing.Design",
68                         "System.Drawing",
69                         "System.Dynamic",
70                         "System.EnterpriseServices",
71                         "System.IdentityModel",
72                         "System.IdentityModel.Selectors",
73                         "System.Management",
74                         "System.Messaging",
75                         "System.Net",
76                         "System.Numerics",
77                         "System.Runtime.Caching",
78                         "System.Runtime.DurableInstancing",
79                         "System.Runtime.Remoting",
80                         "System.Runtime.Serialization",
81                         "System.Runtime.Serialization.Formatters.Soap",
82                         "System.Security",
83                         "System.ServiceModel.Discovery",
84                         "System.ServiceModel",
85                         "System.ServiceModel.Routing",
86                         "System.ServiceModel.Web",
87                         "System.ServiceProcess",
88                         "System.Transactions",
89                         "System.Web.Abstractions",
90                         "System.Web.ApplicationServices",
91                         "System.Web",
92                         "System.Web.DynamicData",
93                         "System.Web.Extensions.Design",
94                         "System.Web.Extensions",
95                         "System.Web.Routing",
96                         "System.Web.Services",
97                         "System.Windows.Forms.DataVisualization",
98                         "System.Windows.Forms",
99                         "System.Xaml",
100                         "System.Xml",
101                         "System.Xml.Linq",
102                         "WebMatrix.Data",
103                         "WindowsBase",
104                         "Microsoft.VisualBasic",
105                 };
106
107                 protected override bool IsSdk (AssemblyDefinition assembly)
108                 {
109                         return Sdk.Contains (assembly.Name.Name);
110                 }
111
112                 protected override bool IsProduct (AssemblyDefinition assembly)
113                 {
114                         return assembly.Name.Name == "MonoMac";
115                 }
116         }
117 }