Patent ID: 8181155

Claim:
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.