124 lines
2.1 KiB
C#
124 lines
2.1 KiB
C#
//
|
|
// Author:
|
|
// Jb Evain (jbevain@gmail.com)
|
|
//
|
|
// Copyright (c) 2008 - 2015 Jb Evain
|
|
// Copyright (c) 2008 - 2011 Novell, Inc.
|
|
//
|
|
// Licensed under the MIT/X11 license.
|
|
//
|
|
|
|
using System;
|
|
|
|
namespace MonoFN.Cecil.Cil {
|
|
|
|
public enum DocumentType {
|
|
Other,
|
|
Text,
|
|
}
|
|
|
|
public enum DocumentHashAlgorithm {
|
|
None,
|
|
MD5,
|
|
SHA1,
|
|
SHA256,
|
|
}
|
|
|
|
public enum DocumentLanguage {
|
|
Other,
|
|
C,
|
|
Cpp,
|
|
CSharp,
|
|
Basic,
|
|
Java,
|
|
Cobol,
|
|
Pascal,
|
|
Cil,
|
|
JScript,
|
|
Smc,
|
|
MCpp,
|
|
FSharp,
|
|
}
|
|
|
|
public enum DocumentLanguageVendor {
|
|
Other,
|
|
Microsoft,
|
|
}
|
|
|
|
public sealed class Document : DebugInformation {
|
|
|
|
string url;
|
|
|
|
Guid type;
|
|
Guid hash_algorithm;
|
|
Guid language;
|
|
Guid language_vendor;
|
|
|
|
byte [] hash;
|
|
byte [] embedded_source;
|
|
|
|
public string Url {
|
|
get { return url; }
|
|
set { url = value; }
|
|
}
|
|
|
|
public DocumentType Type {
|
|
get { return type.ToType (); }
|
|
set { type = value.ToGuid (); }
|
|
}
|
|
|
|
public Guid TypeGuid {
|
|
get { return type; }
|
|
set { type = value; }
|
|
}
|
|
|
|
public DocumentHashAlgorithm HashAlgorithm {
|
|
get { return hash_algorithm.ToHashAlgorithm (); }
|
|
set { hash_algorithm = value.ToGuid (); }
|
|
}
|
|
|
|
public Guid HashAlgorithmGuid {
|
|
get { return hash_algorithm; }
|
|
set { hash_algorithm = value; }
|
|
}
|
|
|
|
public DocumentLanguage Language {
|
|
get { return language.ToLanguage (); }
|
|
set { language = value.ToGuid (); }
|
|
}
|
|
|
|
public Guid LanguageGuid {
|
|
get { return language; }
|
|
set { language = value; }
|
|
}
|
|
|
|
public DocumentLanguageVendor LanguageVendor {
|
|
get { return language_vendor.ToVendor (); }
|
|
set { language_vendor = value.ToGuid (); }
|
|
}
|
|
|
|
public Guid LanguageVendorGuid {
|
|
get { return language_vendor; }
|
|
set { language_vendor = value; }
|
|
}
|
|
|
|
public byte [] Hash {
|
|
get { return hash; }
|
|
set { hash = value; }
|
|
}
|
|
|
|
public byte [] EmbeddedSource {
|
|
get { return embedded_source; }
|
|
set { embedded_source = value; }
|
|
}
|
|
|
|
public Document (string url)
|
|
{
|
|
this.url = url;
|
|
this.hash = Empty<byte>.Array;
|
|
this.embedded_source = Empty<byte>.Array;
|
|
this.token = new MetadataToken (TokenType.Document);
|
|
}
|
|
}
|
|
}
|