0xd4d/cecil — pull request #1 by 0xd4d (2012-01-29 19:24:10+00:00)
Title: 'this' pointer parameter when HasThis and ExplicitThis are both set

Partition II 15.3 Calling convention

*Normally, a parameter list (which always follows the calling convention) does not provide information about the type of the this pointer, since this can be deduced from other information. When the combination instance explicit is specified, however, the first type in the subsequent parameter list specifies the type of the this pointer and subsequent entries specify the types of the parameters themselves.*

Mono.Cecil assumed that when HasThis was true, an implicit 'this' pointer was always passed to a method as a hidden parameter. I've updated the code to now use a HasImplicitThis property which only returns true if HasThis is true and ExplicitThis is false.