1
1
using System . IO ;
2
2
using System . Linq ;
3
-
4
3
using Mono . Cecil . Cil ;
5
4
using Mono . Cecil . Pdb ;
6
5
@@ -56,7 +55,7 @@ .locals init (System.Int32 i, System.Int32 CS$1$0000, System.Boolean CS$4$0001)
56
55
IL_0020: ldloc.1
57
56
IL_0021: ret
58
57
" , main ) ;
59
- } , readOnly : ! Platform . HasNativePdbSupport , symbolReaderProvider : typeof ( PdbReaderProvider ) , symbolWriterProvider : typeof ( PdbWriterProvider ) ) ;
58
+ } , readOnly : ! Platform . HasNativePdbSupport , symbolReaderProvider : typeof ( PdbReaderProvider ) , symbolWriterProvider : typeof ( PdbWriterProvider ) ) ;
60
59
}
61
60
62
61
[ Test ]
@@ -82,7 +81,7 @@ public void DebuggerHiddenVariable ()
82
81
83
82
Assert . AreEqual ( "i" , variables [ 0 ] . Name ) ;
84
83
Assert . IsFalse ( variables [ 0 ] . IsDebuggerHidden ) ;
85
- } , readOnly : ! Platform . HasNativePdbSupport , symbolReaderProvider : typeof ( PdbReaderProvider ) , symbolWriterProvider : typeof ( PdbWriterProvider ) ) ;
84
+ } , readOnly : ! Platform . HasNativePdbSupport , symbolReaderProvider : typeof ( PdbReaderProvider ) , symbolWriterProvider : typeof ( PdbWriterProvider ) ) ;
86
85
}
87
86
88
87
[ Test ]
@@ -103,7 +102,7 @@ public void Document ()
103
102
Assert . AreEqual ( new byte [ ] { 228 , 176 , 152 , 54 , 82 , 238 , 238 , 68 , 237 , 156 , 5 , 142 , 118 , 160 , 118 , 245 } , document . Hash ) ;
104
103
Assert . AreEqual ( DocumentLanguage . CSharp , document . Language ) ;
105
104
Assert . AreEqual ( DocumentLanguageVendor . Microsoft , document . LanguageVendor ) ;
106
- } , readOnly : ! Platform . HasNativePdbSupport , symbolReaderProvider : typeof ( PdbReaderProvider ) , symbolWriterProvider : typeof ( PdbWriterProvider ) ) ;
105
+ } , readOnly : ! Platform . HasNativePdbSupport , symbolReaderProvider : typeof ( PdbReaderProvider ) , symbolWriterProvider : typeof ( PdbWriterProvider ) ) ;
107
106
}
108
107
109
108
[ Test ]
@@ -124,7 +123,7 @@ public void BasicDocument ()
124
123
Assert . AreEqual ( new byte [ ] { 184 , 188 , 100 , 23 , 27 , 123 , 187 , 201 , 175 , 206 , 110 , 198 , 242 , 139 , 154 , 119 } , document . Hash ) ;
125
124
Assert . AreEqual ( DocumentLanguage . Basic , document . Language ) ;
126
125
Assert . AreEqual ( DocumentLanguageVendor . Microsoft , document . LanguageVendor ) ;
127
- } , readOnly : ! Platform . HasNativePdbSupport , symbolReaderProvider : typeof ( PdbReaderProvider ) , symbolWriterProvider : typeof ( PdbWriterProvider ) ) ;
126
+ } , readOnly : ! Platform . HasNativePdbSupport , symbolReaderProvider : typeof ( PdbReaderProvider ) , symbolWriterProvider : typeof ( PdbWriterProvider ) ) ;
128
127
}
129
128
130
129
[ Test ]
@@ -248,7 +247,7 @@ public void LocalConstants ()
248
247
249
248
constant = scope . Constants [ 1 ] ;
250
249
Assert . AreEqual ( "c" , constant . Name ) ;
251
- Assert . AreEqual ( ( decimal ) 74 , constant . Value ) ;
250
+ Assert . AreEqual ( ( decimal ) 74 , constant . Value ) ;
252
251
Assert . AreEqual ( MetadataType . ValueType , constant . ConstantType . MetadataType ) ;
253
252
254
253
method = type . GetMethod ( "Foo" ) ;
@@ -448,7 +447,7 @@ public void CreateMethodFromScratch ()
448
447
449
448
method . DebugInformation . SequencePoints . Add ( sequence_point ) ;
450
449
451
- method . DebugInformation . Scope = new ScopeDebugInformation ( body . Instructions [ 0 ] , null ) {
450
+ method . DebugInformation . Scope = new ScopeDebugInformation ( body . Instructions [ 0 ] , null ) {
452
451
Variables = { new VariableDebugInformation ( temp , "temp" ) }
453
452
} ;
454
453
@@ -476,5 +475,15 @@ public void TypeNameExceedingMaxPdbPath ()
476
475
Assert . IsTrue ( module . HasSymbols ) ;
477
476
} , symbolReaderProvider : typeof ( NativePdbReaderProvider ) , symbolWriterProvider : typeof ( NativePdbWriterProvider ) ) ;
478
477
}
478
+
479
+ [ Test ]
480
+ public void ReadPdbMixedNativeCLIModule ( )
481
+ {
482
+ // MixedNativeCLI.exe was copy/pasted from from https://docs.microsoft.com/en-us/cpp/preprocessor/managed-unmanaged?view=msvc-170#example
483
+ TestModule ( "MixedNativeCLI.exe" , module => {
484
+ module . ReadSymbols ( ) ;
485
+ } , readOnly : true ) ;
486
+ }
487
+
479
488
}
480
489
}
0 commit comments