[Mono-list] Extension method not found

Michael Hutchinson m.j.hutchinson at gmail.com
Wed Sep 1 01:27:17 EDT 2010


On Tue, Aug 31, 2010 at 11:39 PM, Dr_Asik <blask_prawdi at yahoo.ca> wrote:
> Also, when I use the assembly browser to check projectA, all extensions
> methods decompile fine except for the method in question. I get:
>
> "Decompilation failed:
>
> System.NotImplementedException: IL_0011: ldftn bool
> AssetImporter.BinaryExtensions::m__0(System.Byte)
>  at Cecil.Decompiler.Cil.BaseInstructionVisitor.OnLdftn
> (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0
>  at Cecil.Decompiler.Cil.InstructionDispatcher.Dispatch
> (Mono.Cecil.Cil.Instruction instruction, IInstructionVisitor visitor)
> [0x00000] in :0
>  at Cecil.Decompiler.Cil.BaseInstructionVisitor.Visit
> (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0
>  at Cecil.Decompiler.StatementDecompiler.ProcessExpressionBlock
> (Cecil.Decompiler.Cil.InstructionBlock block, Boolean skip_first) [0x00000]
> in :0
>  at Cecil.Decompiler.StatementDecompiler.ProcessExpressionBlock
> (Cecil.Decompiler.Cil.InstructionBlock block) [0x00000] in :0
>  at Cecil.Decompiler.StatementDecompiler.PushConditionExpression
> (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0
>  at Cecil.Decompiler.StatementDecompiler.TryProcessExpression
> (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0
>  at Cecil.Decompiler.StatementDecompiler.ProcessInstruction
> (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0
>  at Cecil.Decompiler.StatementDecompiler.ProcessInstructions
> (Cecil.Decompiler.Cil.InstructionBlock block) [0x00000] in :0
>  at Cecil.Decompiler.StatementDecompiler.ProcessBlock
> (Cecil.Decompiler.Cil.InstructionBlock block) [0x00000] in :0
>  at Cecil.Decompiler.StatementDecompiler.ProcessBlocks () [0x00000] in :0
>  at Cecil.Decompiler.StatementDecompiler.Run () [0x00000] in :0
>  at Cecil.Decompiler.StatementDecompiler.Process
> (Cecil.Decompiler.DecompilationContext context,
> Cecil.Decompiler.Ast.BlockStatement body) [0x00000] in :0
>  at Cecil.Decompiler.DecompilationPipeline.Run (Mono.Cecil.Cil.MethodBody
> body) [0x00000] in :0
>  at Cecil.Decompiler.Extensions.RunPipeline
> (Cecil.Decompiler.DecompilationPipeline pipeline, Mono.Cecil.Cil.MethodBody
> body) [0x00000] in :0
>  at Cecil.Decompiler.Extensions.Decompile (Mono.Cecil.Cil.MethodBody body,
> ILanguage language) [0x00000] in :0
>  at Cecil.Decompiler.Languages.CSharpWriter.Write
> (Mono.Cecil.MethodDefinition method) [0x00000] in :0
>  at MonoDevelop.AssemblyBrowser.DomMethodNodeBuilder.Decompile
> (MonoDevelop.Projects.Dom.DomCecilMethod method, Boolean markup) [0x00000]
> in :0
>
> What's going on?

I don't know about your main problem, but this particular trace is
completely unrelated. It's just a limitation in MonoDevelop's C#
decompiler. BTW, I'd suggest you use a project reference, not an
assembly reference.

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Mono-list mailing list