The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Apr. 06, 2010
Filed:
Jul. 29, 2005
Erik Meijer, Mercer Island, WA (US);
Anders Hejlsberg, Seattle, WA (US);
Matthew J. Warren, Redmond, WA (US);
Luca Bolognese, Redmond, WA (US);
Peter A. Hallam, Seattle, WA (US);
Gary S. Katzenberger, Woodinville, WA (US);
Erik Meijer, Mercer Island, WA (US);
Anders Hejlsberg, Seattle, WA (US);
Matthew J. Warren, Redmond, WA (US);
Luca Bolognese, Redmond, WA (US);
Peter A. Hallam, Seattle, WA (US);
Gary S. Katzenberger, Woodinville, WA (US);
Microsoft Corporation, Redmond, WA (US);
Abstract
A program execution engine that facilitates generic type variance verification is provided. The execution engine receives a program executable in the form of intermediate language (IL). The program executable can be based on code that includes expression(s) with generic type(s) which have been identified as requiring variance verification (e.g., covariance and/or contra-variance). The execution engine includes a variance verification component that dynamically determines whether value(s) associated with the generic type(s) identified as requiring variance verification comply with the particular variance verification requirement. The variance verification component can provide error information (e.g., throw an exception), if the specified variance is not safely compliant. Variance verification can be based on static checking which places the burden on a source language compiler to emit the run-time checks in intermediate language (IL), if run-time checked variance is required. Additionally, language(s) that do not support variance can treat generic type(s) as non-variant.