diff options
author | Jb Evain <jbevain@gmail.com> | 2011-10-28 12:20:38 +0400 |
---|---|---|
committer | Jb Evain <jbevain@gmail.com> | 2011-10-28 12:20:38 +0400 |
commit | 6d1d72d3e9d46f5540f09c9e8a7f5c6d18be40bc (patch) | |
tree | 13224a94411076b853fd5314fb7b9381844c01c9 /symbols | |
parent | 84af4ab09269cd225c8d19fd9e561d86ead1f43a (diff) |
Add support for FSharp detection in pdbs
Diffstat (limited to 'symbols')
-rw-r--r-- | symbols/pdb/Mono.Cecil.Pdb/PdbHelper.cs | 1 | ||||
-rw-r--r-- | symbols/pdb/Test/Mono.Cecil.Pdb.Tests.csproj | 4 | ||||
-rw-r--r-- | symbols/pdb/Test/Mono.Cecil.Tests/PdbTests.cs | 18 | ||||
-rwxr-xr-x | symbols/pdb/Test/Resources/assemblies/fsapp.exe | bin | 0 -> 5120 bytes | |||
-rwxr-xr-x | symbols/pdb/Test/Resources/assemblies/fsapp.pdb | bin | 0 -> 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 Binary files differnew file mode 100755 index 0000000..7cdd236 --- /dev/null +++ b/symbols/pdb/Test/Resources/assemblies/fsapp.exe diff --git a/symbols/pdb/Test/Resources/assemblies/fsapp.pdb b/symbols/pdb/Test/Resources/assemblies/fsapp.pdb Binary files differnew file mode 100755 index 0000000..3743d24 --- /dev/null +++ b/symbols/pdb/Test/Resources/assemblies/fsapp.pdb |