Wholesale Replacement of Specialized Classes
First Claim
1. A non-transitory, computer-readable storage medium storing program instructions that when executed on a computing device cause the computing device to perform:
- specializing a generic class for a particular type parameterization of a plurality of type parameterizations, wherein the generic class is based on a generic class declaration, wherein the generic class is specializable over the plurality of type parameterizations;
wherein to specialize the generic class for the particular type parameterization, the program instructions further cause the computing device to perform;
loading a class corresponding to a refinement class declaration for the generic class declaration, wherein the refinement class declaration is specific to the particular type parameterization, wherein the refinement class declaration comprises an alternate implementation for the generic class when the generic class is specialized for the particular type parameterization; and
wherein the generic class is specializable for others of the plurality of type parameterizations without loading the class corresponding to the refinement class declaration.
1 Assignment
0 Petitions
Accused Products
Abstract
Wholesale replacement of specialized classes may involve the ability to replace the auto specialization of a generic class may not be used at all and instead, a completely different, hand-written, class when the class is specialized for particular type parameterizations, according to some embodiments. The replacement class may have the same interface as the generic or auto specialized version, but it may have a completely different representation and/or implementation. A runtime environment may load the alternate version of the class, based on information identifying the alternate version, whenever the particular specialization is instantiated. The runtime may not have to load the generic or auto specialized version of the class when using the alternate version of the class.
-
Citations
20 Claims
-
1. A non-transitory, computer-readable storage medium storing program instructions that when executed on a computing device cause the computing device to perform:
-
specializing a generic class for a particular type parameterization of a plurality of type parameterizations, wherein the generic class is based on a generic class declaration, wherein the generic class is specializable over the plurality of type parameterizations; wherein to specialize the generic class for the particular type parameterization, the program instructions further cause the computing device to perform; loading a class corresponding to a refinement class declaration for the generic class declaration, wherein the refinement class declaration is specific to the particular type parameterization, wherein the refinement class declaration comprises an alternate implementation for the generic class when the generic class is specialized for the particular type parameterization; and wherein the generic class is specializable for others of the plurality of type parameterizations without loading the class corresponding to the refinement class declaration. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method, comprising:
-
specializing, by a platform independent, object oriented runtime environment implemented on one or more computing devices, a generic class for a particular type parameterization of a plurality of type parameterizations, wherein the generic class is based on a generic class declaration, wherein the generic class is specializable over the plurality of type parameterizations; wherein said specializing comprises; loading, by the platform independent, object oriented runtime environment, a class corresponding to a refinement class declaration for the generic class declaration, wherein the refinement class declaration is specific to the particular type parameterization, wherein the refinement class declaration comprises an alternate implementation for the generic class when the generic class is specialized for the particular type parameterization; and wherein the generic class is specializable for others of the plurality of type parameterizations without loading the class corresponding to the refinement class declaration. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A computing device, comprising:
-
a processor; and a memory comprising program instructions, that when executed on the processor cause the processor to; specialize a generic class for a particular type parameterization of a plurality of type parameterizations, wherein the generic class is based on a generic class declaration, wherein the generic class is specializable over the plurality of type parameterizations; wherein to specialize the generic class for the particular type parameterization, the program instructions further cause the processor to; load a class corresponding to a refinement class declaration for the generic class declaration, wherein the refinement class declaration is specific to the particular type parameterization, wherein the refinement class declaration comprises an alternate implementation for the generic class when the generic class is specialized for the particular type parameterization; and wherein the generic class is specializable for others of the plurality of type parameterizations without loading the class corresponding to the refinement class declaration. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification