Washi1337 / OldRod

An automated KoiVM disassembler and devirtualisation utility

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

System.InvalidCastException: The AsmResolver.Net.Cts.TypeSpecification object can not be cast as AsmResolver.Net.Signatures.ByReferenceTypeSignature.

ruwalddd opened this issue · comments

When using the devirt I am getting following exception:
System.InvalidCastException: The AsmResolver.Net.Cts.TypeSpecification object can not be cast as AsmResolver.Net.Signatures.ByReferenceTypeSignature.
   at OldRod.Core.Recompiler.Transform.TypeInference. <> c. b__6_0 (CilVariableExpression use)
   at System.Linq.Enumerable.WhereSelectListIterator2.MoveNext ()    at System.Linq.Enumerable.WhereEnumerableIterator1.MoveNext ()
   at System.Linq.Buffer1..ctor (IEnumerable1 source)
   at System.Linq.Enumerable.ToArray [TSource] (IEnumerable1 source)    at OldRod.Core.Recompiler.Transform.TypeInference.TryInferVariableType (CilVariable variable)    at OldRod.Core.Recompiler.Transform.TypeInference.VisitCompilationUnit (CilCompilationUnit unit)    at OldRod.Core.Ast.Cil.CilCompilationUnit.AcceptVisitor [TResult] (ICilAstVisitor1 visitor)
   at OldRod.Core.Recompiler.Transform.ChangeAwareCilAstTransform.ApplyTransformation (RecompilerContext context, CilCompilationUnit unit)
   at OldRod.Core.Recompiler.Transform.TypeInference.ApplyTransformation (RecompilerContext context, CilCompilationUnit unit)
   at OldRod.Core.Recompiler.Transform.ChangeAwareCilAstTransform.OldRod.Core.Recompiler.Transform.ICilAstTransform.ApplyTransformation (RecompilerContext context, CilCompilationUnit unit)
   at OldRod.Core.Recompiler.ILToCilRecompiler.ApplyTransformations (CilCompilationUnit cilUnit)
   at OldRod.Core.Recompiler.ILToCilRecompiler.Recompile (ILCompilationUnit unit)
   at OldRod.Pipeline.Stages.Recompiling.RecompilerStage.RecompileToCilAst (DevirtualisationContext context, VirtualisedMethod method)
   at OldRod.Pipeline.Stages.Recompiling.RecompilerStage.Run (DevirtualisationContext context)
   at OldRod.Pipeline.Devirtualiser.RunPipeline (DevirtualisationContext context)
   at OldRod.Pipeline.Devirtualiser.Devirtualise (DevirtualisationOptions options)
   at OldRod.Program.Main (String [] args)

Fixed in latest version. Sorry for annoying