PageRenderTime 43ms CodeModel.GetById 12ms RepoModel.GetById 1ms app.codeStats 0ms

/Microsoft.Scripting/Runtime/AssemblyTypeNames.cs

https://bitbucket.org/stefanrusek/xronos
C# | 4041 lines | 3853 code | 157 blank | 31 comment | 23 complexity | b9389e402872f2039dcb507d37dc441c MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. /* ****************************************************************************
  2. *
  3. * Copyright (c) Microsoft Corporation.
  4. *
  5. * This source code is subject to terms and conditions of the Microsoft Public License. A
  6. * copy of the license can be found in the License.html file at the root of this distribution. If
  7. * you cannot locate the Microsoft Public License, please send an email to
  8. * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound
  9. * by the terms of the Microsoft Public License.
  10. *
  11. * You must not remove this notice, or any other, from this software.
  12. *
  13. *
  14. * ***************************************************************************/
  15. #if CODEPLEX_40
  16. using System;
  17. #else
  18. using System; using Microsoft;
  19. #endif
  20. using System.Collections.Generic;
  21. using System.Diagnostics;
  22. using System.Reflection;
  23. using Microsoft.Scripting.Utils;
  24. namespace Microsoft.Scripting.Runtime {
  25. internal struct TypeName {
  26. private readonly string _namespace;
  27. private readonly string _typeName;
  28. internal TypeName(Type type) {
  29. Debug.Assert(!ReflectionUtils.IsNested(type));
  30. _namespace = type.Namespace;
  31. _typeName = type.Name;
  32. }
  33. internal TypeName(string nameSpace, string typeName) {
  34. _namespace = nameSpace;
  35. _typeName = typeName;
  36. }
  37. internal string Namespace { get { return _namespace; } }
  38. internal string Name { get { return _typeName; } }
  39. public override int GetHashCode() {
  40. int hash = 13 << 20;
  41. if (_namespace != null) hash ^= _namespace.GetHashCode();
  42. if (_typeName != null) hash ^= _typeName.GetHashCode();
  43. return hash;
  44. }
  45. public override bool Equals(object obj) {
  46. if (!(obj is TypeName)) {
  47. return false;
  48. }
  49. TypeName tn = (TypeName)obj;
  50. return tn._namespace == _namespace && tn._typeName == _typeName;
  51. }
  52. public static bool operator ==(TypeName a, TypeName b) {
  53. return a._namespace == b._namespace && a._typeName == b._typeName;
  54. }
  55. public static bool operator !=(TypeName a, TypeName b) {
  56. return !(a == b);
  57. }
  58. }
  59. // TODO: Only used by ComObjectWityTypeInfo. Remove when gone!
  60. internal static class AssemblyTypeNames {
  61. public static IEnumerable<TypeName> GetTypeNames(Assembly assem, bool includePrivateTypes) {
  62. #if !SILVERLIGHT
  63. AssemblyName assemblyName = new AssemblyName(assem.FullName);
  64. switch (assemblyName.Name) {
  65. case "mscorlib": return Get_mscorlib_TypeNames();
  66. case "System": return Get_System_TypeNames();
  67. case "System.Xml": return Get_SystemXml_TypeNames();
  68. case "System.Drawing": return Get_SystemDrawing_TypeNames();
  69. case "System.Windows.Forms": return Get_SystemWindowsForms_TypeNames();
  70. }
  71. #endif
  72. Type[] types = LoadTypesFromAssembly(assem, includePrivateTypes);
  73. return GetTypeNames(types);
  74. }
  75. static IEnumerable<TypeName> GetTypeNames(Type[] types) {
  76. foreach (Type t in types) {
  77. if (ReflectionUtils.IsNested(t)) continue;
  78. TypeName typeName = new TypeName(t);
  79. yield return typeName;
  80. }
  81. }
  82. // Note that the result can contain null references.
  83. private static Type[] GetAllTypesFromAssembly(Assembly asm) {
  84. #if SILVERLIGHT // ReflectionTypeLoadException
  85. try {
  86. return asm.GetTypes();
  87. } catch (Exception) {
  88. return Type.EmptyTypes;
  89. }
  90. #else
  91. try {
  92. return asm.GetTypes();
  93. } catch (ReflectionTypeLoadException rtlException) {
  94. return rtlException.Types;
  95. }
  96. #endif
  97. }
  98. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
  99. public static Type[] LoadTypesFromAssembly(Assembly assembly, bool includePrivateTypes) {
  100. ContractUtils.RequiresNotNull(assembly, "assembly");
  101. if (includePrivateTypes) {
  102. return ArrayUtils.FindAll(GetAllTypesFromAssembly(assembly), (type) => type != null);
  103. }
  104. try {
  105. return assembly.GetExportedTypes();
  106. } catch (NotSupportedException) {
  107. // GetExportedTypes does not work with dynamic assemblies
  108. } catch (Exception) {
  109. // Some type loads may cause exceptions. Unfortunately, there is no way to ask GetExportedTypes
  110. // for just the list of types that we successfully loaded.
  111. }
  112. return ArrayUtils.FindAll(GetAllTypesFromAssembly(assembly), (type) => type != null && type.IsPublic);
  113. }
  114. #if !SILVERLIGHT
  115. static IEnumerable<TypeName> GetTypeNames(string[] namespaces, string[][] types, TypeName[] orcasTypes) {
  116. Debug.Assert(namespaces.Length == types.Length);
  117. for (int i = 0; i < namespaces.Length; i++) {
  118. for (int j = 0; j < types[i].Length; j++) {
  119. TypeName typeName = new TypeName(namespaces[i], types[i][j]);
  120. yield return typeName;
  121. }
  122. }
  123. if (IsOrcas) {
  124. foreach(TypeName orcasType in orcasTypes) {
  125. yield return orcasType;
  126. }
  127. }
  128. }
  129. static bool IsOrcas {
  130. get {
  131. Type t = typeof(object).Assembly.GetType("System.DateTimeOffset", false);
  132. return t != null;
  133. }
  134. }
  135. #region Generated Well-known assembly type names
  136. // *** BEGIN GENERATED CODE ***
  137. static IEnumerable<TypeName> Get_mscorlib_TypeNames() {
  138. // mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
  139. // Total number of types = 1264
  140. string [] namespaces = new string[47] {
  141. "Microsoft.Win32",
  142. "Microsoft.Win32.SafeHandles",
  143. "System",
  144. "System.Collections",
  145. "System.Collections.Generic",
  146. "System.Collections.ObjectModel",
  147. "System.Configuration.Assemblies",
  148. "System.Deployment.Internal",
  149. "System.Diagnostics",
  150. "System.Diagnostics.CodeAnalysis",
  151. "System.Diagnostics.SymbolStore",
  152. "System.Globalization",
  153. "System.IO",
  154. "System.IO.IsolatedStorage",
  155. "System.Reflection",
  156. "System.Reflection.Emit",
  157. "System.Resources",
  158. "System.Runtime",
  159. "System.Runtime.CompilerServices",
  160. "System.Runtime.ConstrainedExecution",
  161. "System.Runtime.Hosting",
  162. "System.Runtime.InteropServices",
  163. "System.Runtime.InteropServices.ComTypes",
  164. "System.Runtime.InteropServices.Expando",
  165. "System.Runtime.Remoting",
  166. "System.Runtime.Remoting.Activation",
  167. "System.Runtime.Remoting.Channels",
  168. "System.Runtime.Remoting.Contexts",
  169. "System.Runtime.Remoting.Lifetime",
  170. "System.Runtime.Remoting.Messaging",
  171. "System.Runtime.Remoting.Metadata",
  172. "System.Runtime.Remoting.Metadata.W3cXsd2001",
  173. "System.Runtime.Remoting.Proxies",
  174. "System.Runtime.Remoting.Services",
  175. "System.Runtime.Serialization",
  176. "System.Runtime.Serialization.Formatters",
  177. "System.Runtime.Serialization.Formatters.Binary",
  178. "System.Runtime.Versioning",
  179. "System.Security",
  180. "System.Security.AccessControl",
  181. "System.Security.Cryptography",
  182. "System.Security.Cryptography.X509Certificates",
  183. "System.Security.Permissions",
  184. "System.Security.Policy",
  185. "System.Security.Principal",
  186. "System.Text",
  187. "System.Threading",
  188. };
  189. string [][] types = new string[47][] {
  190. new string[6] { // Microsoft.Win32
  191. "Registry",
  192. "RegistryHive",
  193. "RegistryKey",
  194. "RegistryKeyPermissionCheck",
  195. "RegistryValueKind",
  196. "RegistryValueOptions",
  197. },
  198. new string[6] { // Microsoft.Win32.SafeHandles
  199. "CriticalHandleMinusOneIsInvalid",
  200. "CriticalHandleZeroOrMinusOneIsInvalid",
  201. "SafeFileHandle",
  202. "SafeHandleMinusOneIsInvalid",
  203. "SafeHandleZeroOrMinusOneIsInvalid",
  204. "SafeWaitHandle",
  205. },
  206. new string[171] { // System
  207. "AccessViolationException",
  208. "Action`1",
  209. "ActivationContext",
  210. "Activator",
  211. "AppDomain",
  212. "AppDomainInitializer",
  213. "AppDomainManager",
  214. "AppDomainManagerInitializationOptions",
  215. "AppDomainSetup",
  216. "AppDomainUnloadedException",
  217. "ApplicationException",
  218. "ApplicationId",
  219. "ApplicationIdentity",
  220. "ArgIterator",
  221. "ArgumentException",
  222. "ArgumentNullException",
  223. "ArgumentOutOfRangeException",
  224. "ArithmeticException",
  225. "Array",
  226. "ArraySegment`1",
  227. "ArrayTypeMismatchException",
  228. "AssemblyLoadEventArgs",
  229. "AssemblyLoadEventHandler",
  230. "AsyncCallback",
  231. "Attribute",
  232. "AttributeTargets",
  233. "AttributeUsageAttribute",
  234. "BadImageFormatException",
  235. "Base64FormattingOptions",
  236. "BitConverter",
  237. "Boolean",
  238. "Buffer",
  239. "Byte",
  240. "CLSCompliantAttribute",
  241. "CannotUnloadAppDomainException",
  242. "Char",
  243. "CharEnumerator",
  244. "Comparison`1",
  245. "Console",
  246. "ConsoleCancelEventArgs",
  247. "ConsoleCancelEventHandler",
  248. "ConsoleColor",
  249. "ConsoleKey",
  250. "ConsoleKeyInfo",
  251. "ConsoleModifiers",
  252. "ConsoleSpecialKey",
  253. "ContextBoundObject",
  254. "ContextMarshalException",
  255. "ContextStaticAttribute",
  256. "Convert",
  257. "Converter`2",
  258. "CrossAppDomainDelegate",
  259. "DBNull",
  260. "DataMisalignedException",
  261. "DateTime",
  262. "DateTimeKind",
  263. "DayOfWeek",
  264. "Decimal",
  265. "Delegate",
  266. "DivideByZeroException",
  267. "DllNotFoundException",
  268. "Double",
  269. "DuplicateWaitObjectException",
  270. "EntryPointNotFoundException",
  271. "Enum",
  272. "Environment",
  273. "EnvironmentVariableTarget",
  274. "EventArgs",
  275. "EventHandler",
  276. "EventHandler`1",
  277. "Exception",
  278. "ExecutionEngineException",
  279. "FieldAccessException",
  280. "FlagsAttribute",
  281. "FormatException",
  282. "GC",
  283. "Guid",
  284. "IAppDomainSetup",
  285. "IAsyncResult",
  286. "ICloneable",
  287. "IComparable",
  288. "IComparable`1",
  289. "IConvertible",
  290. "ICustomFormatter",
  291. "IDisposable",
  292. "IEquatable`1",
  293. "IFormatProvider",
  294. "IFormattable",
  295. "IServiceProvider",
  296. "IndexOutOfRangeException",
  297. "InsufficientMemoryException",
  298. "Int16",
  299. "Int32",
  300. "Int64",
  301. "IntPtr",
  302. "InvalidCastException",
  303. "InvalidOperationException",
  304. "InvalidProgramException",
  305. "LoaderOptimization",
  306. "LoaderOptimizationAttribute",
  307. "LocalDataStoreSlot",
  308. "MTAThreadAttribute",
  309. "MarshalByRefObject",
  310. "Math",
  311. "MemberAccessException",
  312. "MethodAccessException",
  313. "MidpointRounding",
  314. "MissingFieldException",
  315. "MissingMemberException",
  316. "MissingMethodException",
  317. "ModuleHandle",
  318. "MulticastDelegate",
  319. "MulticastNotSupportedException",
  320. "NonSerializedAttribute",
  321. "NotFiniteNumberException",
  322. "NotImplementedException",
  323. "NotSupportedException",
  324. "NullReferenceException",
  325. "Nullable",
  326. "Nullable`1",
  327. "Object",
  328. "ObjectDisposedException",
  329. "ObsoleteAttribute",
  330. "OperatingSystem",
  331. "OperationCanceledException",
  332. "OutOfMemoryException",
  333. "OverflowException",
  334. "ParamArrayAttribute",
  335. "PlatformID",
  336. "PlatformNotSupportedException",
  337. "Predicate`1",
  338. "Random",
  339. "RankException",
  340. "ResolveEventArgs",
  341. "ResolveEventHandler",
  342. "RuntimeArgumentHandle",
  343. "RuntimeFieldHandle",
  344. "RuntimeMethodHandle",
  345. "RuntimeTypeHandle",
  346. "SByte",
  347. "STAThreadAttribute",
  348. "SerializableAttribute",
  349. "Single",
  350. "StackOverflowException",
  351. "String",
  352. "StringComparer",
  353. "StringComparison",
  354. "StringSplitOptions",
  355. "SystemException",
  356. "ThreadStaticAttribute",
  357. "TimeSpan",
  358. "TimeZone",
  359. "TimeoutException",
  360. "Type",
  361. "TypeCode",
  362. "TypeInitializationException",
  363. "TypeLoadException",
  364. "TypeUnloadedException",
  365. "TypedReference",
  366. "UInt16",
  367. "UInt32",
  368. "UInt64",
  369. "UIntPtr",
  370. "UnauthorizedAccessException",
  371. "UnhandledExceptionEventArgs",
  372. "UnhandledExceptionEventHandler",
  373. "ValueType",
  374. "Version",
  375. "Void",
  376. "WeakReference",
  377. "_AppDomain",
  378. },
  379. new string[22] { // System.Collections
  380. "ArrayList",
  381. "BitArray",
  382. "CaseInsensitiveComparer",
  383. "CaseInsensitiveHashCodeProvider",
  384. "CollectionBase",
  385. "Comparer",
  386. "DictionaryBase",
  387. "DictionaryEntry",
  388. "Hashtable",
  389. "ICollection",
  390. "IComparer",
  391. "IDictionary",
  392. "IDictionaryEnumerator",
  393. "IEnumerable",
  394. "IEnumerator",
  395. "IEqualityComparer",
  396. "IHashCodeProvider",
  397. "IList",
  398. "Queue",
  399. "ReadOnlyCollectionBase",
  400. "SortedList",
  401. "Stack",
  402. },
  403. new string[13] { // System.Collections.Generic
  404. "Comparer`1",
  405. "Dictionary`2",
  406. "EqualityComparer`1",
  407. "ICollection`1",
  408. "IComparer`1",
  409. "IDictionary`2",
  410. "IEnumerable`1",
  411. "IEnumerator`1",
  412. "IEqualityComparer`1",
  413. "IList`1",
  414. "KeyNotFoundException",
  415. "KeyValuePair`2",
  416. "List`1",
  417. },
  418. new string[3] { // System.Collections.ObjectModel
  419. "Collection`1",
  420. "KeyedCollection`2",
  421. "ReadOnlyCollection`1",
  422. },
  423. new string[3] { // System.Configuration.Assemblies
  424. "AssemblyHash",
  425. "AssemblyHashAlgorithm",
  426. "AssemblyVersionCompatibility",
  427. },
  428. new string[2] { // System.Deployment.Internal
  429. "InternalActivationContextHelper",
  430. "InternalApplicationIdentityHelper",
  431. },
  432. new string[14] { // System.Diagnostics
  433. "ConditionalAttribute",
  434. "DebuggableAttribute",
  435. "Debugger",
  436. "DebuggerBrowsableAttribute",
  437. "DebuggerBrowsableState",
  438. "DebuggerDisplayAttribute",
  439. "DebuggerHiddenAttribute",
  440. "DebuggerNonUserCodeAttribute",
  441. "DebuggerStepThroughAttribute",
  442. "DebuggerStepperBoundaryAttribute",
  443. "DebuggerTypeProxyAttribute",
  444. "DebuggerVisualizerAttribute",
  445. "StackFrame",
  446. "StackTrace",
  447. },
  448. new string[1] { // System.Diagnostics.CodeAnalysis
  449. "SuppressMessageAttribute",
  450. },
  451. new string[15] { // System.Diagnostics.SymbolStore
  452. "ISymbolBinder",
  453. "ISymbolBinder1",
  454. "ISymbolDocument",
  455. "ISymbolDocumentWriter",
  456. "ISymbolMethod",
  457. "ISymbolNamespace",
  458. "ISymbolReader",
  459. "ISymbolScope",
  460. "ISymbolVariable",
  461. "ISymbolWriter",
  462. "SymAddressKind",
  463. "SymDocumentType",
  464. "SymLanguageType",
  465. "SymLanguageVendor",
  466. "SymbolToken",
  467. },
  468. new string[37] { // System.Globalization
  469. "Calendar",
  470. "CalendarAlgorithmType",
  471. "CalendarWeekRule",
  472. "CharUnicodeInfo",
  473. "ChineseLunisolarCalendar",
  474. "CompareInfo",
  475. "CompareOptions",
  476. "CultureInfo",
  477. "CultureTypes",
  478. "DateTimeFormatInfo",
  479. "DateTimeStyles",
  480. "DaylightTime",
  481. "DigitShapes",
  482. "EastAsianLunisolarCalendar",
  483. "GregorianCalendar",
  484. "GregorianCalendarTypes",
  485. "HebrewCalendar",
  486. "HijriCalendar",
  487. "IdnMapping",
  488. "JapaneseCalendar",
  489. "JapaneseLunisolarCalendar",
  490. "JulianCalendar",
  491. "KoreanCalendar",
  492. "KoreanLunisolarCalendar",
  493. "NumberFormatInfo",
  494. "NumberStyles",
  495. "PersianCalendar",
  496. "RegionInfo",
  497. "SortKey",
  498. "StringInfo",
  499. "TaiwanCalendar",
  500. "TaiwanLunisolarCalendar",
  501. "TextElementEnumerator",
  502. "TextInfo",
  503. "ThaiBuddhistCalendar",
  504. "UmAlQuraCalendar",
  505. "UnicodeCategory",
  506. },
  507. new string[35] { // System.IO
  508. "BinaryReader",
  509. "BinaryWriter",
  510. "BufferedStream",
  511. "Directory",
  512. "DirectoryInfo",
  513. "DirectoryNotFoundException",
  514. "DriveInfo",
  515. "DriveNotFoundException",
  516. "DriveType",
  517. "EndOfStreamException",
  518. "File",
  519. "FileAccess",
  520. "FileAttributes",
  521. "FileInfo",
  522. "FileLoadException",
  523. "FileMode",
  524. "FileNotFoundException",
  525. "FileOptions",
  526. "FileShare",
  527. "FileStream",
  528. "FileSystemInfo",
  529. "IOException",
  530. "MemoryStream",
  531. "Path",
  532. "PathTooLongException",
  533. "SearchOption",
  534. "SeekOrigin",
  535. "Stream",
  536. "StreamReader",
  537. "StreamWriter",
  538. "StringReader",
  539. "StringWriter",
  540. "TextReader",
  541. "TextWriter",
  542. "UnmanagedMemoryStream",
  543. },
  544. new string[6] { // System.IO.IsolatedStorage
  545. "INormalizeForIsolatedStorage",
  546. "IsolatedStorage",
  547. "IsolatedStorageException",
  548. "IsolatedStorageFile",
  549. "IsolatedStorageFileStream",
  550. "IsolatedStorageScope",
  551. },
  552. new string[76] { // System.Reflection
  553. "AmbiguousMatchException",
  554. "Assembly",
  555. "AssemblyAlgorithmIdAttribute",
  556. "AssemblyCompanyAttribute",
  557. "AssemblyConfigurationAttribute",
  558. "AssemblyCopyrightAttribute",
  559. "AssemblyCultureAttribute",
  560. "AssemblyDefaultAliasAttribute",
  561. "AssemblyDelaySignAttribute",
  562. "AssemblyDescriptionAttribute",
  563. "AssemblyFileVersionAttribute",
  564. "AssemblyFlagsAttribute",
  565. "AssemblyInformationalVersionAttribute",
  566. "AssemblyKeyFileAttribute",
  567. "AssemblyKeyNameAttribute",
  568. "AssemblyName",
  569. "AssemblyNameFlags",
  570. "AssemblyNameProxy",
  571. "AssemblyProductAttribute",
  572. "AssemblyTitleAttribute",
  573. "AssemblyTrademarkAttribute",
  574. "AssemblyVersionAttribute",
  575. "Binder",
  576. "BindingFlags",
  577. "CallingConventions",
  578. "ConstructorInfo",
  579. "CustomAttributeData",
  580. "CustomAttributeFormatException",
  581. "CustomAttributeNamedArgument",
  582. "CustomAttributeTypedArgument",
  583. "DefaultMemberAttribute",
  584. "EventAttributes",
  585. "EventInfo",
  586. "ExceptionHandlingClause",
  587. "ExceptionHandlingClauseOptions",
  588. "FieldAttributes",
  589. "FieldInfo",
  590. "GenericParameterAttributes",
  591. "ICustomAttributeProvider",
  592. "IReflect",
  593. "ImageFileMachine",
  594. "InterfaceMapping",
  595. "InvalidFilterCriteriaException",
  596. "LocalVariableInfo",
  597. "ManifestResourceInfo",
  598. "MemberFilter",
  599. "MemberInfo",
  600. "MemberTypes",
  601. "MethodAttributes",
  602. "MethodBase",
  603. "MethodBody",
  604. "MethodImplAttributes",
  605. "MethodInfo",
  606. "Missing",
  607. "Module",
  608. "ModuleResolveEventHandler",
  609. "ObfuscateAssemblyAttribute",
  610. "ObfuscationAttribute",
  611. "ParameterAttributes",
  612. "ParameterInfo",
  613. "ParameterModifier",
  614. "Pointer",
  615. "PortableExecutableKinds",
  616. "ProcessorArchitecture",
  617. "PropertyAttributes",
  618. "PropertyInfo",
  619. "ReflectionTypeLoadException",
  620. "ResourceAttributes",
  621. "ResourceLocation",
  622. "StrongNameKeyPair",
  623. "TargetException",
  624. "TargetInvocationException",
  625. "TargetParameterCountException",
  626. "TypeAttributes",
  627. "TypeDelegator",
  628. "TypeFilter",
  629. },
  630. new string[37] { // System.Reflection.Emit
  631. "AssemblyBuilder",
  632. "AssemblyBuilderAccess",
  633. "ConstructorBuilder",
  634. "CustomAttributeBuilder",
  635. "DynamicILInfo",
  636. "DynamicMethod",
  637. "EnumBuilder",
  638. "EventBuilder",
  639. "EventToken",
  640. "FieldBuilder",
  641. "FieldToken",
  642. "FlowControl",
  643. "GenericTypeParameterBuilder",
  644. "ILGenerator",
  645. "Label",
  646. "LocalBuilder",
  647. "MethodBuilder",
  648. "MethodRental",
  649. "MethodToken",
  650. "ModuleBuilder",
  651. "OpCode",
  652. "OpCodeType",
  653. "OpCodes",
  654. "OperandType",
  655. "PEFileKinds",
  656. "PackingSize",
  657. "ParameterBuilder",
  658. "ParameterToken",
  659. "PropertyBuilder",
  660. "PropertyToken",
  661. "SignatureHelper",
  662. "SignatureToken",
  663. "StackBehaviour",
  664. "StringToken",
  665. "TypeBuilder",
  666. "TypeToken",
  667. "UnmanagedMarshal",
  668. },
  669. new string[11] { // System.Resources
  670. "IResourceReader",
  671. "IResourceWriter",
  672. "MissingManifestResourceException",
  673. "MissingSatelliteAssemblyException",
  674. "NeutralResourcesLanguageAttribute",
  675. "ResourceManager",
  676. "ResourceReader",
  677. "ResourceSet",
  678. "ResourceWriter",
  679. "SatelliteContractVersionAttribute",
  680. "UltimateResourceFallbackLocation",
  681. },
  682. new string[2] { // System.Runtime
  683. "GCSettings",
  684. "MemoryFailPoint",
  685. },
  686. new string[50] { // System.Runtime.CompilerServices
  687. "AccessedThroughPropertyAttribute",
  688. "CallConvCdecl",
  689. "CallConvFastcall",
  690. "CallConvStdcall",
  691. "CallConvThiscall",
  692. "CompilationRelaxations",
  693. "CompilationRelaxationsAttribute",
  694. "CompilerGeneratedAttribute",
  695. "CompilerGlobalScopeAttribute",
  696. "CompilerMarshalOverride",
  697. "CustomConstantAttribute",
  698. "DateTimeConstantAttribute",
  699. "DecimalConstantAttribute",
  700. "DefaultDependencyAttribute",
  701. "DependencyAttribute",
  702. "DiscardableAttribute",
  703. "FixedAddressValueTypeAttribute",
  704. "FixedBufferAttribute",
  705. "HasCopySemanticsAttribute",
  706. "IDispatchConstantAttribute",
  707. "IUnknownConstantAttribute",
  708. "IndexerNameAttribute",
  709. "InternalsVisibleToAttribute",
  710. "IsBoxed",
  711. "IsByValue",
  712. "IsConst",
  713. "IsCopyConstructed",
  714. "IsExplicitlyDereferenced",
  715. "IsImplicitlyDereferenced",
  716. "IsJitIntrinsic",
  717. "IsLong",
  718. "IsPinned",
  719. "IsSignUnspecifiedByte",
  720. "IsUdtReturn",
  721. "IsVolatile",
  722. "LoadHint",
  723. "MethodCodeType",
  724. "MethodImplAttribute",
  725. "MethodImplOptions",
  726. "NativeCppClassAttribute",
  727. "RequiredAttributeAttribute",
  728. "RuntimeCompatibilityAttribute",
  729. "RuntimeHelpers",
  730. "RuntimeWrappedException",
  731. "ScopelessEnumAttribute",
  732. "SpecialNameAttribute",
  733. "StringFreezingAttribute",
  734. "SuppressIldasmAttribute",
  735. "TypeForwardedToAttribute",
  736. "UnsafeValueTypeAttribute",
  737. },
  738. new string[5] { // System.Runtime.ConstrainedExecution
  739. "Cer",
  740. "Consistency",
  741. "CriticalFinalizerObject",
  742. "PrePrepareMethodAttribute",
  743. "ReliabilityContractAttribute",
  744. },
  745. new string[2] { // System.Runtime.Hosting
  746. "ActivationArguments",
  747. "ApplicationActivator",
  748. },
  749. new string[165] { // System.Runtime.InteropServices
  750. "ArrayWithOffset",
  751. "AssemblyRegistrationFlags",
  752. "AutomationProxyAttribute",
  753. "BINDPTR",
  754. "BIND_OPTS",
  755. "BStrWrapper",
  756. "BestFitMappingAttribute",
  757. "CALLCONV",
  758. "COMException",
  759. "CONNECTDATA",
  760. "CallingConvention",
  761. "CharSet",
  762. "ClassInterfaceAttribute",
  763. "ClassInterfaceType",
  764. "CoClassAttribute",
  765. "ComAliasNameAttribute",
  766. "ComCompatibleVersionAttribute",
  767. "ComConversionLossAttribute",
  768. "ComDefaultInterfaceAttribute",
  769. "ComEventInterfaceAttribute",
  770. "ComImportAttribute",
  771. "ComInterfaceType",
  772. "ComMemberType",
  773. "ComRegisterFunctionAttribute",
  774. "ComSourceInterfacesAttribute",
  775. "ComUnregisterFunctionAttribute",
  776. "ComVisibleAttribute",
  777. "CriticalHandle",
  778. "CurrencyWrapper",
  779. "DESCKIND",
  780. "DISPPARAMS",
  781. "DefaultCharSetAttribute",
  782. "DispIdAttribute",
  783. "DispatchWrapper",
  784. "DllImportAttribute",
  785. "ELEMDESC",
  786. "EXCEPINFO",
  787. "ErrorWrapper",
  788. "ExporterEventKind",
  789. "ExtensibleClassFactory",
  790. "ExternalException",
  791. "FILETIME",
  792. "FUNCDESC",
  793. "FUNCFLAGS",
  794. "FUNCKIND",
  795. "FieldOffsetAttribute",
  796. "GCHandle",
  797. "GCHandleType",
  798. "GuidAttribute",
  799. "HandleRef",
  800. "ICustomAdapter",
  801. "ICustomFactory",
  802. "ICustomMarshaler",
  803. "IDLDESC",
  804. "IDLFLAG",
  805. "IDispatchImplAttribute",
  806. "IDispatchImplType",
  807. "IMPLTYPEFLAGS",
  808. "INVOKEKIND",
  809. "IRegistrationServices",
  810. "ITypeLibConverter",
  811. "ITypeLibExporterNameProvider",
  812. "ITypeLibExporterNotifySink",
  813. "ITypeLibImporterNotifySink",
  814. "ImportedFromTypeLibAttribute",
  815. "ImporterEventKind",
  816. "InAttribute",
  817. "InterfaceTypeAttribute",
  818. "InvalidComObjectException",
  819. "InvalidOleVariantTypeException",
  820. "LCIDConversionAttribute",
  821. "LIBFLAGS",
  822. "LayoutKind",
  823. "Marshal",
  824. "MarshalAsAttribute",
  825. "MarshalDirectiveException",
  826. "ObjectCreationDelegate",
  827. "OptionalAttribute",
  828. "OutAttribute",
  829. "PARAMDESC",
  830. "PARAMFLAG",
  831. "PreserveSigAttribute",
  832. "PrimaryInteropAssemblyAttribute",
  833. "ProgIdAttribute",
  834. "RegistrationClassContext",
  835. "RegistrationConnectionType",
  836. "RegistrationServices",
  837. "RuntimeEnvironment",
  838. "SEHException",
  839. "STATSTG",
  840. "SYSKIND",
  841. "SafeArrayRankMismatchException",
  842. "SafeArrayTypeMismatchException",
  843. "SafeHandle",
  844. "SetWin32ContextInIDispatchAttribute",
  845. "StructLayoutAttribute",
  846. "TYPEATTR",
  847. "TYPEDESC",
  848. "TYPEFLAGS",
  849. "TYPEKIND",
  850. "TYPELIBATTR",
  851. "TypeLibConverter",
  852. "TypeLibExporterFlags",
  853. "TypeLibFuncAttribute",
  854. "TypeLibFuncFlags",
  855. "TypeLibImportClassAttribute",
  856. "TypeLibImporterFlags",
  857. "TypeLibTypeAttribute",
  858. "TypeLibTypeFlags",
  859. "TypeLibVarAttribute",
  860. "TypeLibVarFlags",
  861. "TypeLibVersionAttribute",
  862. "UCOMIBindCtx",
  863. "UCOMIConnectionPoint",
  864. "UCOMIConnectionPointContainer",
  865. "UCOMIEnumConnectionPoints",
  866. "UCOMIEnumConnections",
  867. "UCOMIEnumMoniker",
  868. "UCOMIEnumString",
  869. "UCOMIEnumVARIANT",
  870. "UCOMIMoniker",
  871. "UCOMIPersistFile",
  872. "UCOMIRunningObjectTable",
  873. "UCOMIStream",
  874. "UCOMITypeComp",
  875. "UCOMITypeInfo",
  876. "UCOMITypeLib",
  877. "UnknownWrapper",
  878. "UnmanagedFunctionPointerAttribute",
  879. "UnmanagedType",
  880. "VARDESC",
  881. "VARFLAGS",
  882. "VarEnum",
  883. "VariantWrapper",
  884. "_Activator",
  885. "_Assembly",
  886. "_AssemblyBuilder",
  887. "_AssemblyName",
  888. "_Attribute",
  889. "_ConstructorBuilder",
  890. "_ConstructorInfo",
  891. "_CustomAttributeBuilder",
  892. "_EnumBuilder",
  893. "_EventBuilder",
  894. "_EventInfo",
  895. "_Exception",
  896. "_FieldBuilder",
  897. "_FieldInfo",
  898. "_ILGenerator",
  899. "_LocalBuilder",
  900. "_MemberInfo",
  901. "_MethodBase",
  902. "_MethodBuilder",
  903. "_MethodInfo",
  904. "_MethodRental",
  905. "_Module",
  906. "_ModuleBuilder",
  907. "_ParameterBuilder",
  908. "_ParameterInfo",
  909. "_PropertyBuilder",
  910. "_PropertyInfo",
  911. "_SignatureHelper",
  912. "_Thread",
  913. "_Type",
  914. "_TypeBuilder",
  915. },
  916. new string[46] { // System.Runtime.InteropServices.ComTypes
  917. "BINDPTR",
  918. "BIND_OPTS",
  919. "CALLCONV",
  920. "CONNECTDATA",
  921. "DESCKIND",
  922. "DISPPARAMS",
  923. "ELEMDESC",
  924. "EXCEPINFO",
  925. "FILETIME",
  926. "FUNCDESC",
  927. "FUNCFLAGS",
  928. "FUNCKIND",
  929. "IBindCtx",
  930. "IConnectionPoint",
  931. "IConnectionPointContainer",
  932. "IDLDESC",
  933. "IDLFLAG",
  934. "IEnumConnectionPoints",
  935. "IEnumConnections",
  936. "IEnumMoniker",
  937. "IEnumString",
  938. "IEnumVARIANT",
  939. "IMPLTYPEFLAGS",
  940. "IMoniker",
  941. "INVOKEKIND",
  942. "IPersistFile",
  943. "IRunningObjectTable",
  944. "IStream",
  945. "ITypeComp",
  946. "ITypeInfo",
  947. "ITypeInfo2",
  948. "ITypeLib",
  949. "ITypeLib2",
  950. "LIBFLAGS",
  951. "PARAMDESC",
  952. "PARAMFLAG",
  953. "STATSTG",
  954. "SYSKIND",
  955. "TYPEATTR",
  956. "TYPEDESC",
  957. "TYPEFLAGS",
  958. "TYPEKIND",
  959. "TYPELIBATTR",
  960. "VARDESC",
  961. "VARFLAGS",
  962. "VARKIND",
  963. },
  964. new string[1] { // System.Runtime.InteropServices.Expando
  965. "IExpando",
  966. },
  967. new string[20] { // System.Runtime.Remoting
  968. "ActivatedClientTypeEntry",
  969. "ActivatedServiceTypeEntry",
  970. "CustomErrorsModes",
  971. "IChannelInfo",
  972. "IEnvoyInfo",
  973. "IObjectHandle",
  974. "IRemotingTypeInfo",
  975. "InternalRemotingServices",
  976. "ObjRef",
  977. "ObjectHandle",
  978. "RemotingConfiguration",
  979. "RemotingException",
  980. "RemotingServices",
  981. "RemotingTimeoutException",
  982. "ServerException",
  983. "SoapServices",
  984. "TypeEntry",
  985. "WellKnownClientTypeEntry",
  986. "WellKnownObjectMode",
  987. "WellKnownServiceTypeEntry",
  988. },
  989. new string[5] { // System.Runtime.Remoting.Activation
  990. "ActivatorLevel",
  991. "IActivator",
  992. "IConstructionCallMessage",
  993. "IConstructionReturnMessage",
  994. "UrlAttribute",
  995. },
  996. new string[29] { // System.Runtime.Remoting.Channels
  997. "BaseChannelObjectWithProperties",
  998. "BaseChannelSinkWithProperties",
  999. "BaseChannelWithProperties",
  1000. "ChannelDataStore",
  1001. "ChannelServices",
  1002. "ClientChannelSinkStack",
  1003. "IChannel",
  1004. "IChannelDataStore",
  1005. "IChannelReceiver",
  1006. "IChannelReceiverHook",
  1007. "IChannelSender",
  1008. "IChannelSinkBase",
  1009. "IClientChannelSink",
  1010. "IClientChannelSinkProvider",
  1011. "IClientChannelSinkStack",
  1012. "IClientFormatterSink",
  1013. "IClientFormatterSinkProvider",
  1014. "IClientResponseChannelSinkStack",
  1015. "ISecurableChannel",
  1016. "IServerChannelSink",
  1017. "IServerChannelSinkProvider",
  1018. "IServerChannelSinkStack",
  1019. "IServerFormatterSinkProvider",
  1020. "IServerResponseChannelSinkStack",
  1021. "ITransportHeaders",
  1022. "ServerChannelSinkStack",
  1023. "ServerProcessing",
  1024. "SinkProviderData",
  1025. "TransportHeaders",
  1026. },
  1027. new string[15] { // System.Runtime.Remoting.Contexts
  1028. "Context",
  1029. "ContextAttribute",
  1030. "ContextProperty",
  1031. "CrossContextDelegate",
  1032. "IContextAttribute",
  1033. "IContextProperty",
  1034. "IContextPropertyActivator",
  1035. "IContributeClientContextSink",
  1036. "IContributeDynamicSink",
  1037. "IContributeEnvoySink",
  1038. "IContributeObjectSink",
  1039. "IContributeServerContextSink",
  1040. "IDynamicMessageSink",
  1041. "IDynamicProperty",
  1042. "SynchronizationAttribute",
  1043. },
  1044. new string[5] { // System.Runtime.Remoting.Lifetime
  1045. "ClientSponsor",
  1046. "ILease",
  1047. "ISponsor",
  1048. "LeaseState",
  1049. "LifetimeServices",
  1050. },
  1051. new string[24] { // System.Runtime.Remoting.Messaging
  1052. "AsyncResult",
  1053. "CallContext",
  1054. "ConstructionCall",
  1055. "ConstructionResponse",
  1056. "Header",
  1057. "HeaderHandler",
  1058. "ILogicalThreadAffinative",
  1059. "IMessage",
  1060. "IMessageCtrl",
  1061. "IMessageSink",
  1062. "IMethodCallMessage",
  1063. "IMethodMessage",
  1064. "IMethodReturnMessage",
  1065. "IRemotingFormatter",
  1066. "InternalMessageWrapper",
  1067. "LogicalCallContext",
  1068. "MessageSurrogateFilter",
  1069. "MethodCall",
  1070. "MethodCallMessageWrapper",
  1071. "MethodResponse",
  1072. "MethodReturnMessageWrapper",
  1073. "OneWayAttribute",
  1074. "RemotingSurrogateSelector",
  1075. "ReturnMessage",
  1076. },
  1077. new string[7] { // System.Runtime.Remoting.Metadata
  1078. "SoapAttribute",
  1079. "SoapFieldAttribute",
  1080. "SoapMethodAttribute",
  1081. "SoapOption",
  1082. "SoapParameterAttribute",
  1083. "SoapTypeAttribute",
  1084. "XmlFieldOrderOption",
  1085. },
  1086. new string[32] { // System.Runtime.Remoting.Metadata.W3cXsd2001
  1087. "ISoapXsd",
  1088. "SoapAnyUri",
  1089. "SoapBase64Binary",
  1090. "SoapDate",
  1091. "SoapDateTime",
  1092. "SoapDay",
  1093. "SoapDuration",
  1094. "SoapEntities",
  1095. "SoapEntity",
  1096. "SoapHexBinary",
  1097. "SoapId",
  1098. "SoapIdref",
  1099. "SoapIdrefs",
  1100. "SoapInteger",
  1101. "SoapLanguage",
  1102. "SoapMonth",
  1103. "SoapMonthDay",
  1104. "SoapName",
  1105. "SoapNcName",
  1106. "SoapNegativeInteger",
  1107. "SoapNmtoken",
  1108. "SoapNmtokens",
  1109. "SoapNonNegativeInteger",
  1110. "SoapNonPositiveInteger",
  1111. "SoapNormalizedString",
  1112. "SoapNotation",
  1113. "SoapPositiveInteger",
  1114. "SoapQName",
  1115. "SoapTime",
  1116. "SoapToken",
  1117. "SoapYear",
  1118. "SoapYearMonth",
  1119. },
  1120. new string[2] { // System.Runtime.Remoting.Proxies
  1121. "ProxyAttribute",
  1122. "RealProxy",
  1123. },
  1124. new string[3] { // System.Runtime.Remoting.Services
  1125. "EnterpriseServicesHelper",
  1126. "ITrackingHandler",
  1127. "TrackingServices",
  1128. },
  1129. new string[26] { // System.Runtime.Serialization
  1130. "Formatter",
  1131. "FormatterConverter",
  1132. "FormatterServices",
  1133. "IDeserializationCallback",
  1134. "IFormatter",
  1135. "IFormatterConverter",
  1136. "IObjectReference",
  1137. "ISerializable",
  1138. "ISerializationSurrogate",
  1139. "ISurrogateSelector",
  1140. "ObjectIDGenerator",
  1141. "ObjectManager",
  1142. "OnDeserializedAttribute",
  1143. "OnDeserializingAttribute",
  1144. "OnSerializedAttribute",
  1145. "OnSerializingAttribute",
  1146. "OptionalFieldAttribute",
  1147. "SerializationBinder",
  1148. "SerializationEntry",
  1149. "SerializationException",
  1150. "SerializationInfo",
  1151. "SerializationInfoEnumerator",
  1152. "SerializationObjectManager",
  1153. "StreamingContext",
  1154. "StreamingContextStates",
  1155. "SurrogateSelector",
  1156. },
  1157. new string[10] { // System.Runtime.Serialization.Formatters
  1158. "FormatterAssemblyStyle",
  1159. "FormatterTypeStyle",
  1160. "IFieldInfo",
  1161. "ISoapMessage",
  1162. "InternalRM",
  1163. "InternalST",
  1164. "ServerFault",
  1165. "SoapFault",
  1166. "SoapMessage",
  1167. "TypeFilterLevel",
  1168. },
  1169. new string[1] { // System.Runtime.Serialization.Formatters.Binary
  1170. "BinaryFormatter",
  1171. },
  1172. new string[4] { // System.Runtime.Versioning
  1173. "ResourceConsumptionAttribute",
  1174. "ResourceExposureAttribute",
  1175. "ResourceScope",
  1176. "VersioningHelper",
  1177. },
  1178. new string[27] { // System.Security
  1179. "AllowPartiallyTrustedCallersAttribute",
  1180. "CodeAccessPermission",
  1181. "HostProtectionException",
  1182. "HostSecurityManager",
  1183. "HostSecurityManagerOptions",
  1184. "IEvidenceFactory",
  1185. "IPermission",
  1186. "ISecurityEncodable",
  1187. "ISecurityPolicyEncodable",
  1188. "IStackWalk",
  1189. "NamedPermissionSet",

Large files files are truncated, but you can click here to view the full file