NewILToCodeModel: extraneous IDupValue
description
I've attached a tiny test program that demonstrates what I think is an issue with NewILToCodeModel.
If you build something with this function:
static void Decrement()
{
--m_nBlah;
}
then the AST produced by NewILToCodeModel will contain an IDupValue in that function without having an IPushStatement preceding it.
Short "repro":
- Open the attached zip and look at bin\Debug\ccibug-stack.txt
- Note that the only C# code generated in the Decrement() function contains a "dup" reference (from an IDupValue node)
Full repro:
- Build the ccibug-stack.txt project
- Run petotext.exe on the produced exe
- Look at the generated ccibug-stack.txt file
- Note that the only C# code generated in the Decrement() function contains a "dup" reference (from an IDupValue node)