Adding inheritance support to a computer programming language
First Claim
1. A computer-implemented method of providing inheritance to a programming object, comprising:
- receiving a first programming object included in a first document, wherein the first programming object is described in a declarative language;
receiving inheritance information about the first programming object, wherein the inheritance information associated with the first programming object is stored separately from the first programming object;
analyzing the inheritance information, wherein the analyzing identifies at least one base object from which the first programming object inherits at least one property;
based on the analyzing, generating a merged first programming object, wherein the generating merges the at least one property of the at least one base object into the first document and within the first programming object, and wherein the generating further comprises;
recursively analyzing each element of a node of the at least one base object identified in the inheritance information; and
determining the at least one property to be inherited by the first programming object from the at least one base object based on the recursively analyzing each element of the node; and
sending the merged first programming object to an editor for editing.
1 Assignment
0 Petitions
Accused Products
Abstract
Object inheritance is a programming feature that allows developers to designate a programming object as a “descendent” of one or more “ancestors.” Disclosed herein are system, method, and computer program product embodiments for supporting inheritance in a programming language. In an embodiment, a first programming object is received from a first document, inheritance information about the first programming object is received and analyzed, a second programming object based on the first programming object and the inheritance information is created, the second programming object is sent to an editor for editing, a third programming object is received from the editor, a fourth programming object based on the first or second programming object, the third programming object, and the inheritance information is created, and the fourth programming object is stored in a second document.
27 Citations
17 Claims
-
1. A computer-implemented method of providing inheritance to a programming object, comprising:
-
receiving a first programming object included in a first document, wherein the first programming object is described in a declarative language; receiving inheritance information about the first programming object, wherein the inheritance information associated with the first programming object is stored separately from the first programming object; analyzing the inheritance information, wherein the analyzing identifies at least one base object from which the first programming object inherits at least one property; based on the analyzing, generating a merged first programming object, wherein the generating merges the at least one property of the at least one base object into the first document and within the first programming object, and wherein the generating further comprises; recursively analyzing each element of a node of the at least one base object identified in the inheritance information; and determining the at least one property to be inherited by the first programming object from the at least one base object based on the recursively analyzing each element of the node; and sending the merged first programming object to an editor for editing. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for providing inheritance to a programming object comprising:
-
a memory; an object storage stored in the memory and containing inheritance information about programming objects, wherein the inheritance information is stored separately from the programming objects and where the programming objects are included in a file and are described in a declarative language; and a computing device coupled to the object storage, and including; an editor configured to request a programming object for editing; and an inheritance module configured to interface with the editor, and further configured to; intercept the programming object before the programming object is displayed by the editor; automatically generate a replacement inheritance supported object for editing by the editor by selectively merging into the file and within the programming object at least one property included in a lineage of its ancestors according to rules of inheritance and based on the inheritance information associated with the programming object, wherein to selectively merge the at least one property into the file the inheritance module is further configured to; recursively analyze each element of a node of an ancestor of the programming object identified in the inheritance information; determine the at least one property to be inherited by the programming object based on the analyzing; and merge the determined at least one property into the replacement inheritance supported object; and transmit the replacement inheritance supported object to the editor, whereby the editor receives instructions that edit the replacement inheritance supported object. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable medium having computer-executable instructions stored thereon that, if executed by a computing device, cause the computing device to perform operations comprising:
-
receiving a first programming object, wherein the first programming object is described in a declarative language; receiving inheritance information about the first programming object, wherein the inheritance information associated with the first programming object is stored separately from the first programming object; analyzing the inheritance information, wherein the analyzing identifies at least one base object from which the first programming object inherits at least one attribute; based on the analyzing, generating a merged first programming object, wherein the generating merges the at least one attribute of the at least one base object into the first document and within the first programming object, wherein the generating further comprises; recursively analyzing each element of a node of the at least one base object identified in the inheritance information; and determining the at least one attribute to be inherited by the first programming object from the at least one base object based on the analyzing; and sending the merged first programming object to an editor for editing. - View Dependent Claims (14, 15, 16, 17)
-
Specification