-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
System.NullReferenceException: at ICSharpCode.Decompiler.CSharp.TranslatedExpression.ConvertTo() #2092
Comments
The problem is an expression tree that has ReturnType == null. |
Root cause seems to be that this assembly has two This in turn means we can't find the |
…type system. We now avoid the old `IModuleReference` interface which required allocating for every type being resolved. Instead `MetadataModule.ResolveModule` now combines decoding+resolving assembly references into a single step. This allows the type system to maintain a cache indexed by row number. This also changes the behavior of resolving references within a compilation: We now prefer an exact match (name + version + publickeytoken) first; and fall back to a name-only match only if no exact match exists. This somewhat improves the decompilation of assemblies created by using ilmerge to combine assemblies with different target frameworks.
…formExpressionTrees.MatchGetContructorFromHandle use IType.FullName instead of actual IType instances, so we can better handle assemblies processed by tools like ILMerge, where there might be used multiple versions of mscorlib in one assembly.
…e and TransformExpressionTrees.MatchGetContructorFromHandle use IType.FullName instead of actual IType instances, so we can better handle assemblies processed by tools like ILMerge, where there might be used multiple versions of mscorlib in one assembly.
…lambdas and expression trees.
Input code
Save code
see the error:
Erroneous output
Details
Squirrel.zip
The text was updated successfully, but these errors were encountered: