[backport] SI-7776 post-erasure signature clashes are now macro-aware

"double definition: macro this and method that have same type after erasure"
This error doesn't make sense when macros are involved, because macros
expand at compile-time, where we're not affected by erasure. Moreover,
macros produce no bytecode, which means that we're safe from VerifyErrors.
Merge pull request #3110 from xeno-by/topic/7776-backport

[backport] SI-7776 post-erasure signature clashes are now macro-aware