Manual refinement of specialized classes in runtime environments
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:
- loading a class file comprising a class declaration for a generic class, wherein the generic class is specializable over a plurality of type parameterizations, wherein the class declaration comprises a refinement method specific to a particular one of the plurality of type parameterizations, wherein the refinement method comprises an alternate implementation for a method of the generic class when the generic class is specialized for the particular type parameterization;
specializing the generic class for the particular type parameterization; and
including the refinement method in the specialized generic class in response to said specializing and based on the particular type parameterization.
1 Assignment
0 Petitions
Accused Products
Abstract
While a runtime specializer may always be able to generate an automated specialized version of a generic class, in some cases an alternate form of user control over specialization may allow the use of automated specialization while also adding (or overriding) specialization-specific method implementations. In general, the set of members of a generic class may not change when the class is specialized. In other words, the same members may exist in the auto-specialized version as in the generic version. However, manual refinement of specialized classes may allow a developer to hand specialize a particular (possibly a better) representation and/or implementation of one or more methods of the specialized 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:
-
loading a class file comprising a class declaration for a generic class, wherein the generic class is specializable over a plurality of type parameterizations, wherein the class declaration comprises a refinement method specific to a particular one of the plurality of type parameterizations, wherein the refinement method comprises an alternate implementation for a method of the generic class when the generic class is specialized for the particular type parameterization; specializing the generic class for the particular type parameterization; and including the refinement method in the specialized generic class in response to said specializing and based on the particular type parameterization. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method, comprising:
performing, by one or more computers; loading, by a platform-independent, object-oriented, runtime environment, a class file comprising a class declaration for a generic class, wherein the generic class is specializable over a plurality of type parameterizations, wherein the class declaration comprises a refinement method specific to a particular one of the plurality of type parameterizations, wherein the refinement method comprises an alternate implementation for a method of the generic class when the generic class is specialized for the particular type parameterization; specializing, by a platform-independent, object-oriented, runtime environment, the generic class for the particular type parameterization; and including, by a platform-independent, object-oriented, runtime environment, the refinement method in the specialized generic class in response to said specializing and based on the particular type parameterization. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
15. A computing device, comprising:
-
a processor; and a memory comprising program instructions, that when executed on the processor cause the processor to; load a class file comprising a class declaration for a generic class, wherein the generic class is specializable over a plurality of type parameterizations, wherein the class declaration comprises a refinement method specific to a particular one of the plurality of type parameterizations, wherein the refinement method has a method signature that is not included in the generic class when the generic class is specialized for at least one of the plurality of type parameterizations; specialize the generic class for the particular type parameterization; and include the refinement method in the specialized generic class in response to specializing the generic class and based on the particular type parameterization. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification