IP Library Granted Patent US 7,155,703
Granted Patent B2
US 7,155,703 · App. 10/622,413 · Granted Dec 26, 2006

Virtual method protection

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,155,703
App. No.
10/622,413
Granted
Dec 26, 2006
Kind
B2
Abstract

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.

Claims (14)

1. A method of linking accessibility and override-ability of virtual methods comprising:

setting at least one bit in metadata indicative of allowing a virtual method to be overridden;

checking the status of the at least one bit to determine if accessibility of the virtual method need be verified before overriding the virtual method, wherein a first state of the at least one bit is indicative of granting an unconditional override of the virtual method and a second state of the at least one bit is indicative of granting an override dependent on the accessibility of the virtual method, further wherein the accessibility is indicated by flag bits in metadata comprising a private bit, a public bit, an assembly bit, a family bit and a virtual bit; and

performing or refusing the override of the virtual method based on the at least one bit and the flag bits.

2. A computer system comprising:

a processor which acts upon an input program comprising at least one virtual method;

a mechanism establishing a potential correspondence between accessibility and override-ability of a virtual method comprising at least one bit of metadata;

wherein the processor utilizes the mechanism to detect the potential correspondence between accessibility and override-ability before allowing the at least one virtual method to be overridden, further wherein a first state of the mechanism permits the at least one virtual method to be overridden if the at least one virtual method is not accessible, and further wherein a second state of the mechanism equates accessibility and override-ability; and

the processor performing or refusing an override of the virtual method based on the at least one bit and the accessibility.

3. The computer system of claim 2 , wherein a derived method being generated from the at least one virtual method is subject to the mechanism establishing a potential correspondence between accessibility and override-ability of a virtual method.

4. A computer-readable storage medium having computer-executable instructions for performing a method of linking accessibility and override-ability of virtual methods comprising:

setting at least one bit in metadata indicative of allowing a virtual method to be overridden; and

checking the status of the at least one bit to determine if accessibility of the virtual method need be verified before overriding the virtual method, wherein a first state of the at least one bit is indicative of granting an unconditional override of the virtual method and a second state of the at least one bit is indicative of granting an override dependent on the accessibility of the virtual method, further wherein the accessibility is indicated by flag bits in metadata comprising a private bit, a public bit, an assembly bit, a family bit and a virtual bit; and

performing or refusing the override of the virtual method based on the at least one bit and the flag bits.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →