Activity overview
Latest activity by DJ Doena
10.3 crashes when reflecting embedded methods
Trying to reflect the Main method crashes Reflector 10.3 without comment
internal static class NinetyNineBottlesOfBeer
{
private static void Main()
{
foreach (var line in GetSongTe...
@Russell D I was able to repro and record the version issue described above: [image] https://youtu.be/BVTjEZLtyTE / comments
@Russell D I was able to repro and record the version issue described above: https://youtu.be/BVTjEZLtyTE
I can also still repro this issue: https://forum.red-gate.com/discussion/comment/149760/#Comment_149760
Invalid expression stack size during null coalescing expression translation.
System.InvalidOperationException
at Reflector.Disassembler.Translator.DecodeNullCoalescingExpressionOrStatement()
at Reflector.Disassembler.Translator.DecodeDuplicateStatement(Int32 offset, IEnumerable`1& AdditionalExpressions)
at Reflector.Disassembler.Translator.DecodeStatement(Int32 end, IEnumerable`1& AdditionalExpressions)
at Reflector.Disassembler.Translator.DecodeBlockStatement(Int32 offset, Int32 end)
at Reflector.Disassembler.Translator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB, Boolean handleExpressionStack)
at Reflector.Disassembler.Translator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB)
at Reflector.Disassembler.Disassembler.TransformMethodDeclaration(IMethodDeclaration value)
at Reflector.Application.Translator.TranslateMethodDeclaration(IMethodDeclaration value)
at Reflector.Application.UserInterface.DisassemblerWindow.Render(Boolean expandTypes, Boolean expandMethods) / comments
I can also still repro this issue: https://forum.red-gate.com/discussion/comment/149760/#Comment_149760
Invalid expression stack size during null coalescing expression translation.
System.InvalidOp...
I retested the issue from here https://forum.red-gate.com/discussion/comment/150547/#Comment_150547
with 10.0.4.406
same result:
Block statement count of zero during condition expression translation.
Reflector.Disassembler.Translator+ExpressionHandlingException
at Reflector.Disassembler.Translator.DecodeConditionExpression(Int32 offset, Boolean& failureCase, IEnumerable`1& AdditionalExpressions)
at Reflector.Disassembler.Translator.DecodeStatement(Int32 end, IEnumerable`1& AdditionalExpressions)
at Reflector.Disassembler.Translator.DecodeBlockStatement(Int32 offset, Int32 end)
at Reflector.Disassembler.Translator.DecodeNullCoalescingExpressionOrStatement()
at Reflector.Disassembler.Translator.DecodeDuplicateStatement(Int32 offset, IEnumerable`1& AdditionalExpressions)
at Reflector.Disassembler.Translator.DecodeStatement(Int32 end, IEnumerable`1& AdditionalExpressions)
at Reflector.Disassembler.Translator.DecodeBlockStatement(Int32 offset, Int32 end)
at Reflector.Disassembler.Translator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB, Boolean handleExpressionStack)
at Reflector.Disassembler.Translator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB)
at Reflector.Disassembler.Disassembler.TransformMethodDeclaration(IMethodDeclaration value)
at Reflector.Application.Translator.TranslateMethodDeclaration(IMethodDeclaration value)
at Reflector.Application.UserInterface.DisassemblerWindow.Render(Boolean expandTypes, Boolean expandMethods) / comments
I retested the issue from here https://forum.red-gate.com/discussion/comment/150547/#Comment_150547
with 10.0.4.406
same result:
Block statement count of zero during condition expression translatio...
Found another one. Actual code of method is:
void RaiseEvent(string attribute)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(attribute));
}
Error is:
Block statement count of zero during condition expression translation.
Reflector.Disassembler.Translator+ExpressionHandlingException
at Reflector.Disassembler.Translator.DecodeConditionExpression(Int32 offset, Boolean& failureCase)
at Reflector.Disassembler.Translator.DecodeStatement(Int32 end)
at Reflector.Disassembler.Translator.DecodeBlockStatement(Int32 offset, Int32 end)
at Reflector.Disassembler.Translator.DecodeNullCoalescingExpressionOrStatement()
at Reflector.Disassembler.Translator.DecodeDuplicateStatement(Int32 offset)
at Reflector.Disassembler.Translator.DecodeStatement(Int32 end)
at Reflector.Disassembler.Translator.DecodeBlockStatement(Int32 offset, Int32 end)
at Reflector.Disassembler.Translator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB, Boolean handleExpressionStack)
at Reflector.Disassembler.Translator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB)
at Reflector.Disassembler.Disassembler.TransformMethodDeclaration(IMethodDeclaration value)
at Reflector.Application.Translator.TranslateMethodDeclaration(IMethodDeclaration value)
at Reflector.Application.UserInterface.DisassemblerWindow.Render(Boolean expandTypes, Boolean expandMethods)
Code can be found here: http://doena-soft.de/tmp/SubControls.zip in SubControls.MainWindowViewModel.RaiseEvent(string attribute) / comments
Found another one. Actual code of method is:
void RaiseEvent(string attribute)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(attribute));
}
Error is:
Block statement count of zero du...
I have another one
Invalid expression stack size during null coalescing expression translation.
System.InvalidOperationException
at Reflector.Disassembler.Translator.DecodeNullCoalescingExpressionOrStatement()
at Reflector.Disassembler.Translator.DecodeDuplicateStatement(Int32 offset)
at Reflector.Disassembler.Translator.DecodeStatement(Int32 end)
at Reflector.Disassembler.Translator.DecodeBlockStatement(Int32 offset, Int32 end)
at Reflector.Disassembler.Translator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB, Boolean handleExpressionStack)
at Reflector.Disassembler.Translator.TranslateMethodDeclaration(IMethodDeclaration mD, IMethodBody mB)
at Reflector.Disassembler.Disassembler.TransformMethodDeclaration(IMethodDeclaration value)
at Reflector.Application.Translator.TranslateMethodDeclaration(IMethodDeclaration value)
at Reflector.Application.UserInterface.DisassemblerWindow.Render(Boolean expandTypes, Boolean expandMethods)
The actual code of that method is
DoenaSoft.TVJunkie.MainForm
bool UserIsCorrectAndContainsDate(User user) => user?.UserName == "DJ Doena" && user?.Watches?.Any(WatchesContainsDate) == true;
PS: this throws the same error
bool EntryContainsUserWithWatchedDate(FileEntry entry) => entry?.Users?.Any(UserIsCorrectAndContainsDate) == true; / comments
I have another one
Invalid expression stack size during null coalescing expression translation.
System.InvalidOperationException
at Reflector.Disassembler.Translator.DecodeNullCoalescingExpressionO...
Hi, (un)fortunately no more repro. I've cleared my entire assembly list on the left and then only loaded my new assembly. Now the error is gone. It could have been an assembly that was in the list but didn't exist on the harddrive anymore? Not sure because there were about a dozen assemblies in the list, sorry. / comments
Hi, (un)fortunately no more repro. I've cleared my entire assembly list on the left and then only loaded my new assembly. Now the error is gone. It could have been an assembly that was in the list ...
I've tried out the new named tuple feature in C#7 and when I reflect on it, I get the following error:
version
System.ComponentModel.InvalidEnumArgumentException
at Reflector.Disassembler.Helper.HiddenAttributesCollection.ParseVersion(String version)
at Reflector.Disassembler.Helper.HiddenAttributesCollection.<>c.<CreateInstance>b__0_1(Dictionary`2 dict, ICustomAttributeCollection attributes, String version)
at Reflector.Disassembler.Helper.HiddenAttributesCollection.HelpC`2.Filter(ICustomAttributeCollection attributes, String version)
at Reflector.Disassembler.Helper.FilterIrrelevant(ICustomAttributeCollection attributes, String version)
at Reflector.Application.Languages.CSharpLanguage.LanguageWriter.WriteCustomAttributeList(ICustomAttributeProvider value, IFormatter formatter, String target, HashSet`1 hide)
at Reflector.Application.Languages.CSharpLanguage.LanguageWriter.WriteMethodDeclaration(IMethodDeclaration value)
at Reflector.Application.UserInterface.DisassemblerWindow.Render(Boolean expandTypes, Boolean expandMethods) / comments
I've tried out the new named tuple feature in C#7 and when I reflect on it, I get the following error:
version
System.ComponentModel.InvalidEnumArgumentException
at Reflector.Disassembler.Helper.Hi...
Reset/clear assembly list
Hi,
is there a quick and easy way to completely empty the assembly list.
I sometimes have dozens of assemblies in it and to remove them one by one is rather tiresome.
Reflecter 6.7.0.3 won't upgrade on 6.8 :-(
When I open my version 6.7.03 and select "check for updates" then it downloads an update but can't install it afterwards because "...\Reflector.exe is in use by another process.
And I don't see an ...