Unified expression and location framework
First Claim
1. A computer program product comprising one of more computer-readable storage devices having stored thereon computer-executable instructions that, when executed by a computing system capable of running a continuation based runtime, causes the computing system to perform a method for allowing the continuation based runtime to resolve location expressions of multiple location expression classes, the method comprising:
- an act of providing a first abstract base class that defines a method for resolving a value expression into a value, a second abstract class that derives from the first abstract base class and that defines a method for resolving a variable into a location, and multiple location expression classes that each derive from the second abstract class such that each of the multiple location expression classes inherits the method for resolving a value expression into a value defined in the first abstract base class and inherits the method for resolving a variable into a location from the second abstract class, such that each location expression class implements a common method for resolving a variable into a location, and is used to resolve a respective distinct category of location expressions into a location in a continuation based runtime;
an act of accessing a location expression of a particular type;
an act of identifying a location expression class of the multiple location expression classes that is used for resolving location expressions of the particular type;
an act of using the location expression to identify one or more input parameters representing an environment for the location expression to provide to an object instance of the identified location expression class;
an act of requesting a resolved location of the location expression using the common method of the object instance of the identified location expression class; and
an act of receiving the resolved location of the location expression in response to the act of requesting.
2 Assignments
0 Petitions
Accused Products
Abstract
Allowing a continuation based runtime to resolve different types of location expressions, value expressions, and/or locations. This may be accomplished using a different class for each particular type. The location expression classes may each have a common method used for all of the location expression classes. The value expression classes may each have a common method, and the locations may also each have a common method. This allows the resolution of such location and value expressions to be treated in a unified fashion regardless of the type of location expression, or the type of value expression. Also, the location may be treated in a unified manner regardless of the type of location.
-
Citations
16 Claims
-
1. A computer program product comprising one of more computer-readable storage devices having stored thereon computer-executable instructions that, when executed by a computing system capable of running a continuation based runtime, causes the computing system to perform a method for allowing the continuation based runtime to resolve location expressions of multiple location expression classes, the method comprising:
-
an act of providing a first abstract base class that defines a method for resolving a value expression into a value, a second abstract class that derives from the first abstract base class and that defines a method for resolving a variable into a location, and multiple location expression classes that each derive from the second abstract class such that each of the multiple location expression classes inherits the method for resolving a value expression into a value defined in the first abstract base class and inherits the method for resolving a variable into a location from the second abstract class, such that each location expression class implements a common method for resolving a variable into a location, and is used to resolve a respective distinct category of location expressions into a location in a continuation based runtime; an act of accessing a location expression of a particular type; an act of identifying a location expression class of the multiple location expression classes that is used for resolving location expressions of the particular type; an act of using the location expression to identify one or more input parameters representing an environment for the location expression to provide to an object instance of the identified location expression class; an act of requesting a resolved location of the location expression using the common method of the object instance of the identified location expression class; and an act of receiving the resolved location of the location expression in response to the act of requesting. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product comprising one of more computer-readable storage devices having stored thereon computer-executable instructions that, when executed by a computing system capable of running a continuation based runtime, causes the computing system to perform a method for allowing the continuation based runtime to resolve value expressions of multiple value expression classes, the method comprising:
-
an act of providing a first abstract base class that defines a method for resolving a value expression into a value, and multiple value expression classes that each derive from the first abstract base class such that each of the multiple value expression classes inherits the method for resolving a value expression into a value defined in the first abstract base class such that each value expression class implements a common method for resolving a value expression into a value, and is used to resolve a respective distinct category of value expressions into a value in the continuation based runtime; an act of an activity manager requesting an expression resolution module to resolve a value expression using the common method without determining the particular category of the value expression; and an act of the expression resolution module responding to the request by identifying the particular category of the value expression and invoking a value expression class that corresponds to the particular category to the value expression to generate and return a resolved value of the value expression. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A computer program product comprising one of more computer-readable storage devices having stored thereon computer-executable instructions that, when executed by a computing system capable of running a continuation based runtime, causes the computing system to perform a method for allowing the continuation based runtime to resolve location expressions of multiple location expression classes, the method comprising:
-
an act of providing; a first abstract base class that defines a method for resolving a value expression into a value; a second abstract class that derives from the first abstract base class and that defines a method for resolving a variable into a location; multiple location expression classes that each derive from the second abstract class such that each of the multiple location expression classes inherits the method for resolving a value expression into a value defined in the first abstract base class and inherits the method for resolving a variable into a location from the second abstract class, such that each location expression class implements a common method for resolving a variable into a location, and is used to resolve a respective distinct category of location expressions into a location in a continuation based runtime; an act of accessing a location expression of a particular type; and multiple value expression classes that each derive from the first abstract base class such that each of the multiple value expression classes inherits the method for resolving a value expression into a value defined in the first abstract base class such that each value expression class implements a common method for resolving a value expression into a value, each value expression class used to resolve a respective distinct category of value expressions into a value in the continuation based runtime; an act of identifying a location expression class of the multiple location expression classes that is used for resolving location expressions of the particular type; an act of using the location expression to identify one or more input parameters representing an environment for the location expression to provide to an object instance of the identified location expression class; an act of requesting a resolved location of the location expression using the common method of the object instance of the identified location expression class; and an act of receiving the resolved location of the location expression in response to the act of requesting. - View Dependent Claims (15, 16)
-
Specification