Daniel Grunwald
d07298b747
Properly fix the integer conversion mess.
It's not actually all that hard once you realize:
a) the ECMA-335 specification is incorrect, whether to sign- or zero-extend does not always depends on the source type
b) the C# compilator generates completely weird code when casting between (U)IntPtr and integers.
Map all IntPtr casts to a few semi-sane cases, and we can obtain the correct semantics without introducing any helper methods.
9 years ago
Daniel Grunwald
935f0118d1
First attempt at better cast handling
9 years ago
Daniel Grunwald
c3937c3fab
Add ImplicitConversions test and fix some conversions.
9 years ago
Siegfried Pammer
a0f52e1185
Add test and fix for conv.i/conv.u casts
9 years ago
Daniel Grunwald
14c87caea4
Fix ref<->pointer conversions.
9 years ago
Siegfried Pammer
6a62b24cce
use ConvertTo with Conv-instructions
9 years ago
Siegfried Pammer
573932aa40
Fix IntPtr <-> UIntPtr casts by introducing calls to ToPointer()
9 years ago
Daniel Grunwald
18516fc653
Fix bool->int conversion
10 years ago
Siegfried Pammer
c8f8d9ef4e
improve conversion of Ceq-ILAst instruction
10 years ago
Daniel Grunwald
ad8d4a7ef6
Fix duplicate ResolveResult on ConvertConstantValue()
11 years ago
Daniel Grunwald
08a5e81517
Re-enable IntroduceUsingDeclarations
11 years ago
Siegfried Pammer
bc68339ac4
rename ConvertedExpression to TranslatedExpression and Convert to Translate, etc.
11 years ago
Siegfried Pammer
7f36725b6f
implement StObj instruction
11 years ago
Daniel Grunwald
fffa297b8f
Use ResolveResults as annotations.
11 years ago
Daniel Grunwald
30faef021b
Move ConvertedExpression into a separate file
11 years ago