Fix module override for recursive generic signatures (#24707)
authorJan Vorlicek <janvorli@microsoft.com>
Mon, 27 May 2019 16:42:16 +0000 (18:42 +0200)
committerGitHub <noreply@github.com>
Mon, 27 May 2019 16:42:16 +0000 (18:42 +0200)
commit419b46fc7d0fe0659e7ab521c222b7c921b36e35
treeb52c9670eafe510f360ab003ecfe20aaa76a3384
parent580152a50e4092d32c7d05ec876cd6976483ebf1
Fix module override for recursive generic signatures (#24707)

* Fix module override for recursive generic signatures

When crossgen-ing with large version bubble enabled, generic signatures
that got copied from the source IL were missing module overrides at
deeper levels of the generic signature.
For example, in case of X<Y<A,B>,Z>, the override was applied only to Y
and Z, but not to A and B.

This change fixes that by inserting module override zapsig at all
levels.
src/vm/siginfo.hpp
src/vm/zapsig.cpp
src/vm/zapsig.h