Performing validation of a derived virtual method includes receiving
program code where the derived virtual method is derived from a virtual
method of the program language used to generate the program code,
compiling the program code to an intermediate language expression,
generating metadata descriptive of the compiled program code, validating
the use of the derived virtual method by accessing the metadata, and
permitting the use of the derived virtual method if the metadata grants
override permissions concerning the virtual method of the programming
language. The metadata indicating access and override permissions may be
generated while compiling the program code in the common language
infrastructure. Alternately, the flag may use pre-existing values
indicative of the access and override permissions concerning the virtual
method of the programming language.