Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
243 words
A computer implemented method for representing interface references in an object oriented language, wherein objects correspond to one or more classes, a class is capable of implementing one or more interfaces, an interface is associated with a set of methods, said object oriented language provides for inheritance of said interfaces whereby a first interface may extend one or more other interfaces, and an interface reference IR i is associated with an interface ID and with an object OI corresponding to a class that implements the interface ID said computer implemented method comprising the steps of: (a) for each class C i of objects, storing in memory descriptor data corresponding to said class C i , wherein said descriptor data includes: for each interface ID i implemented by said class C i , an interface method table comprising one or more entries, wherein each entry identifies one of an implementation of a method declared by said interface ID i and an implementation of a method declared by an interface extended by said interface ID i ; and (b) for each interface reference IR i , wherein interface reference IR i is associated with an interface ID and corresponds to a given object OI, storing in memory a first identifier that identifies an interface method table corresponding to the interface ID within the descriptor data for the class corresponding to the object OI, and storing in memory a second identifier that identifies said object OI.
Claim 2
Dependent Claim
243 words
A computer implemented method for representing interface references in an object oriented language, wherein objects correspond to one or more classes, a class is capable of implementing one or more interfaces, an interface is associated with a set of methods, said object oriented language provides for inheritance of said interfaces whereby a first interface may extend one or more other interfaces, and an interface reference IR i is associated with an interface ID and with an object OI corresponding to a class that implements the interface ID said computer implemented method comprising the steps of: (a) for each class C i of objects, storing in memory descriptor data corresponding to said class C i , wherein said descriptor data includes: for each interface ID i implemented by said class C i , an interface method table comprising one or more entries, wherein each entry identifies one of an implementation of a method declared by said interface ID i and an implementation of a method declared by an interface extended by said interface ID i ; and (b) for each interface reference IR i , wherein interface reference IR i is associated with an interface ID and corresponds to a given object OI, storing in memory a first identifier that identifies an interface method table corresponding to the interface ID within the descriptor data for the class corresponding to the object OI, and storing in memory a second identifier that identifies said object OI.
Claim 3
Dependent Claim
151 words
The computer implemented method of claim 1, further comprising the step of: when a method M is invoked via an interface reference IR to an interface ID M , (i) retrieving from memory said first identifier associated with the interface reference IR, wherein said first identifier identifies said interface method table corresponding to said interface ID M ; (ii) generating an index corresponding to said method M based upon said first identifier retrieved from memory, wherein said index identifies an entry in said interface method table corresponding to said method M; (iii) retrieving said entry identified by said index; (iv) invoking said method M using the retrieved entry; (v) retrieving from memory said second identifier associated with said interface reference IR, wherein said second identifier identifies an object OM corresponding to a class that implements said interface ID M ; and (vi) passing said retrieved second identifier to said method M.
Claim 4
Dependent Claim
55 words
The computer implemented method of claim 1, wherein, for each class C i of objects, said descriptor data corresponding to said class C i stored in memory includes a class method table comprising one or more entries, wherein each entry identifies an implementation of a method inherited or defined by said class C i .
Claim 5
Dependent Claim
42 words
The computer implemented method of claim 3, further comprising the step of (c) for each object O, storing in memory a third identifier for identifying a class method table within said descriptor data associated with a class corresponding to said object O.
Claim 6
Dependent Claim
30 words
The computer implemented method of claim 1, wherein said descriptor data corresponding to said class C i is created and stored in memory when said class C i is declared.
Claim 7
Dependent Claim
50 words
The computer implemented method of claim 1, wherein code for generating said first identifier corresponding to said interface reference IR i is created and stored in memory upon detection of a statement wherein said object OI is assigned to said interface reference IR i corresponding to said interface declaration ID.
Claim 8
Dependent Claim
47 words
The computer implemented method of claim 1, wherein code for generating said first identifier corresponding to said interface reference IR i is created and stored in memory upon detection of a statement wherein an interface reference IR j is assigned to said interface reference IR i .
Claim 9
Dependent Claim
108 words
The computer implemented method of claim 1, further comprising the step of: when a method M is invoked via an interface reference IR to an interface ID M , (i) retrieving form memory said first identifier associated with the interface reference IR, wherein said first identifier identifies said interface method table corresponding to said interface ID M ; (ii) generating an index corresponding to said method M based upon said first identifier retrieved from memory, wherein said index identifies an entry in said interface method table corresponding to said method M; (iii) retrieving said entry identified by said index; (iv) invoking said method M using the retrieved entry.
Claim 10
Dependent Claim
73 words
The computer implemented method of claim 1, further comprising the step of: for each class C i of objects, storing in memory a class-interface cast table comprising one or more entries each associated with a given interface I1 implemented by said class C i , wherein each entry identifies offset from a start address of said class method table for said class C i to an interface table corresponding to said interface I1.
Claim 11
Dependent Claim
90 words
The computer implemented method of claim 1, further comprising the step of: for each class C i of objects, storing in memory an interface-interface cast table for each interface I1 implemented by said class C i , wherein said interface-interface cast table for said interface I1 comprises one or more entries each associated with an interface I2 extended by said interface I1, wherein each entry identifies offset from a start address of said interface method table for said interface I1 to an interface method table corresponding to said interface I2.
Claim 12
Dependent Claim
68 words
The computer implemented method of claim 1, further comprising the step of: for each interface, storing in memory a function table corresponding to a given interface, wherein said function table stores one or more entries each associated with a given method of said given interface, wherein each entry identifies offset of an entry corresponding to said given method within said interface method table corresponding to said given interface.