Document.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. //
  2. // Author:
  3. // Jb Evain (jbevain@gmail.com)
  4. //
  5. // Copyright (c) 2008 - 2015 Jb Evain
  6. // Copyright (c) 2008 - 2011 Novell, Inc.
  7. //
  8. // Licensed under the MIT/X11 license.
  9. //
  10. using System;
  11. namespace ILRuntime.Mono.Cecil.Cil {
  12. public enum DocumentType {
  13. Other,
  14. Text,
  15. }
  16. public enum DocumentHashAlgorithm {
  17. None,
  18. MD5,
  19. SHA1,
  20. SHA256,
  21. }
  22. public enum DocumentLanguage {
  23. Other,
  24. C,
  25. Cpp,
  26. CSharp,
  27. Basic,
  28. Java,
  29. Cobol,
  30. Pascal,
  31. Cil,
  32. JScript,
  33. Smc,
  34. MCpp,
  35. FSharp,
  36. }
  37. public enum DocumentLanguageVendor {
  38. Other,
  39. Microsoft,
  40. }
  41. public sealed class Document : DebugInformation {
  42. string url;
  43. Guid type;
  44. Guid hash_algorithm;
  45. Guid language;
  46. Guid language_vendor;
  47. byte [] hash;
  48. byte [] embedded_source;
  49. public string Url {
  50. get { return url; }
  51. set { url = value; }
  52. }
  53. public DocumentType Type {
  54. get { return type.ToType (); }
  55. set { type = value.ToGuid (); }
  56. }
  57. public Guid TypeGuid {
  58. get { return type; }
  59. set { type = value; }
  60. }
  61. public DocumentHashAlgorithm HashAlgorithm {
  62. get { return hash_algorithm.ToHashAlgorithm (); }
  63. set { hash_algorithm = value.ToGuid (); }
  64. }
  65. public Guid HashAlgorithmGuid {
  66. get { return hash_algorithm; }
  67. set { hash_algorithm = value; }
  68. }
  69. public DocumentLanguage Language {
  70. get { return language.ToLanguage (); }
  71. set { language = value.ToGuid (); }
  72. }
  73. public Guid LanguageGuid {
  74. get { return language; }
  75. set { language = value; }
  76. }
  77. public DocumentLanguageVendor LanguageVendor {
  78. get { return language_vendor.ToVendor (); }
  79. set { language_vendor = value.ToGuid (); }
  80. }
  81. public Guid LanguageVendorGuid {
  82. get { return language_vendor; }
  83. set { language_vendor = value; }
  84. }
  85. public byte [] Hash {
  86. get { return hash; }
  87. set { hash = value; }
  88. }
  89. public byte[] EmbeddedSource {
  90. get { return embedded_source; }
  91. set { embedded_source = value; }
  92. }
  93. public Document (string url)
  94. {
  95. this.url = url;
  96. this.hash = Empty<byte>.Array;
  97. this.embedded_source = Empty<byte>.Array;
  98. this.token = new MetadataToken (TokenType.Document);
  99. }
  100. }
  101. }