Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/cecil.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJb Evain <jbevain@gmail.com>2011-10-28 12:20:38 +0400
committerJb Evain <jbevain@gmail.com>2011-10-28 12:20:38 +0400
commit6d1d72d3e9d46f5540f09c9e8a7f5c6d18be40bc (patch)
tree13224a94411076b853fd5314fb7b9381844c01c9 /symbols
parent84af4ab09269cd225c8d19fd9e561d86ead1f43a (diff)
Add support for FSharp detection in pdbs
Diffstat (limited to 'symbols')
-rw-r--r--symbols/pdb/Mono.Cecil.Pdb/PdbHelper.cs1
-rw-r--r--symbols/pdb/Test/Mono.Cecil.Pdb.Tests.csproj4
-rw-r--r--symbols/pdb/Test/Mono.Cecil.Tests/PdbTests.cs18
-rwxr-xr-xsymbols/pdb/Test/Resources/assemblies/fsapp.exebin0 -> 5120 bytes
-rwxr-xr-xsymbols/pdb/Test/Resources/assemblies/fsapp.pdbbin0 -> 11776 bytes
5 files changed, 23 insertions, 0 deletions
diff --git a/symbols/pdb/Mono.Cecil.Pdb/PdbHelper.cs b/symbols/pdb/Mono.Cecil.Pdb/PdbHelper.cs
index 79e82db..aa63982 100644
--- a/symbols/pdb/Mono.Cecil.Pdb/PdbHelper.cs
+++ b/symbols/pdb/Mono.Cecil.Pdb/PdbHelper.cs
@@ -104,6 +104,7 @@ namespace Mono.Cecil.Pdb {
AddMapping (DocumentLanguage.JScript, new Guid (0x3a12d0b6, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2));
AddMapping (DocumentLanguage.Smc, new Guid (0xd9b9f7b, 0x6611, 0x11d3, 0xbd, 0x2a, 0x0, 0x0, 0xf8, 0x8, 0x49, 0xbd));
AddMapping (DocumentLanguage.MCpp, new Guid (0x4b35fde8, 0x07c6, 0x11d3, 0x90, 0x53, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1));
+ AddMapping (DocumentLanguage.FSharp, new Guid (0xab4f38c9, 0xb6e6, 0x43ba, 0xbe, 0x3b, 0x58, 0x08, 0x0b, 0x2c, 0xcc, 0xe3));
}
static void AddMapping (DocumentLanguage language, Guid guid)
diff --git a/symbols/pdb/Test/Mono.Cecil.Pdb.Tests.csproj b/symbols/pdb/Test/Mono.Cecil.Pdb.Tests.csproj
index 80e0ec0..7bf3ed4 100644
--- a/symbols/pdb/Test/Mono.Cecil.Pdb.Tests.csproj
+++ b/symbols/pdb/Test/Mono.Cecil.Pdb.Tests.csproj
@@ -92,8 +92,12 @@
<Compile Include="Mono.Cecil.Tests\PdbTests.cs" />
</ItemGroup>
<ItemGroup>
+ <Content Include="Resources\assemblies\fsapp.exe" />
+ <Content Include="Resources\assemblies\fsapp.pdb" />
<Content Include="Resources\assemblies\test.exe" />
<Content Include="Resources\assemblies\test.pdb" />
+ <Content Include="Resources\assemblies\VBConsApp.exe" />
+ <Content Include="Resources\assemblies\VBConsApp.pdb" />
</ItemGroup>
<ItemGroup>
<Reference Include="nunit.core, Version=2.5.10.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
diff --git a/symbols/pdb/Test/Mono.Cecil.Tests/PdbTests.cs b/symbols/pdb/Test/Mono.Cecil.Tests/PdbTests.cs
index 056ab68..d084dcd 100644
--- a/symbols/pdb/Test/Mono.Cecil.Tests/PdbTests.cs
+++ b/symbols/pdb/Test/Mono.Cecil.Tests/PdbTests.cs
@@ -94,6 +94,24 @@ namespace Mono.Cecil.Tests {
Assert.AreEqual (DocumentLanguageVendor.Microsoft, document.LanguageVendor);
}
+ [TestModule ("fsapp.exe", SymbolReaderProvider = typeof (PdbReaderProvider), SymbolWriterProvider = typeof (PdbWriterProvider))]
+ public void FSharpDocument (ModuleDefinition module)
+ {
+ var type = module.GetType ("Program");
+ var method = type.GetMethod ("fact");
+
+ var sequence_point = method.Body.Instructions.Where (i => i.SequencePoint != null).First ().SequencePoint;
+ var document = sequence_point.Document;
+
+ Assert.IsNotNull (document);
+
+ Assert.AreEqual (@"c:\tmp\fsapp\Program.fs", document.Url);
+ Assert.AreEqual (DocumentType.Text, document.Type);
+ Assert.AreEqual (DocumentHashAlgorithm.None, document.HashAlgorithm);
+ Assert.AreEqual (DocumentLanguage.FSharp, document.Language);
+ Assert.AreEqual (DocumentLanguageVendor.Microsoft, document.LanguageVendor);
+ }
+
[Test]
public void CreateMethodFromScratch ()
{
diff --git a/symbols/pdb/Test/Resources/assemblies/fsapp.exe b/symbols/pdb/Test/Resources/assemblies/fsapp.exe
new file mode 100755
index 0000000..7cdd236
--- /dev/null
+++ b/symbols/pdb/Test/Resources/assemblies/fsapp.exe
Binary files differ
diff --git a/symbols/pdb/Test/Resources/assemblies/fsapp.pdb b/symbols/pdb/Test/Resources/assemblies/fsapp.pdb
new file mode 100755
index 0000000..3743d24
--- /dev/null
+++ b/symbols/pdb/Test/Resources/assemblies/fsapp.pdb
Binary files differ