Method and system for editing software programs
First Claim
1. A method of editing a software program in a common language runtime environment, the software program having a source code component, an intermediate language component, and a native code component, the method comprising:
- executing a first portion of the native code component;
suspending execution of the native code component at a first point;
allowing a user to edit the source code component to create an edited source code component;
compiling the edited source code component using a source compiler to create an edited intermediate language component;
compiling the edited intermediate language component using an intermediate language compiler to create an edited native code component;
executing the edited native code component beginning at the first point; and
compiling the edited source code component using the source compiler, compiling the edited intermediate language component, and executing the edited native code component on an as-needed basis.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system are disclosed for editing a software program in a common language runtime environment, wherein the software program has a source code component, an intermediate language component, and a native code component. The method comprises executing a first portion of the native code component, suspending execution of the native code component at a first point, and allowing a user to edit the source code component to create an edited source code component. The edited source code component is compiled using a source compiler to create an edited intermediate language component, and the edited intermediate language component is compiled using an intermediate language compiler to create an edited native code component. The edited native code component is then executed beginning at the point where execution was previously suspended.
-
Citations
53 Claims
-
1. A method of editing a software program in a common language runtime environment, the software program having a source code component, an intermediate language component, and a native code component, the method comprising:
-
executing a first portion of the native code component;
suspending execution of the native code component at a first point;
allowing a user to edit the source code component to create an edited source code component;
compiling the edited source code component using a source compiler to create an edited intermediate language component;
compiling the edited intermediate language component using an intermediate language compiler to create an edited native code component;
executing the edited native code component beginning at the first point; and
compiling the edited source code component using the source compiler, compiling the edited intermediate language component, and executing the edited native code component on an as-needed basis. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of editing a software program having a source code component, and a native code component, the method comprising:
-
executing a first portion of the native code component;
suspending execution of the native code component at a first point;
allowing a user to edit the source code component to create an edited source code component, add a new field to an object of a class to the source code component, add a new method to a class in the source code component, change an existing method in the source code component, and replace an existing method created in a first source language with a new method created in a second source language;
converting the edited source code component to create an edited native code component comprising extending a field table associated with the class to accommodate the new field to create an extended field table, extending the field table comprising adding the new field via a synchronization block associated with the object to create an extended object; and
executing the edited native code component employing the extended field table beginning at the first point. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A runtime system for executing a program in a computer system, comprising:
-
an edit and continue component having a debugging services interface component interfacing with a debugger application; and
an intermediate language compiler adapted to compile intermediate language code into native code;
wherein the edit and continue component executes a first portion of a native code component, suspends execution of the native code component at a first point, allows a user to edit a source code component using a debugger application to create an edited source code component, allows a user to add a new field to an object of a class, extends a field table associated with the class to accommodate the new field to create an extended field table, adds the new field via a synchronization block associated with the object to create an extended object, compiles the edited source code component using a source compiler to create an edited intermediate language component, compiles the edited intermediate language component using the intermediate language compiler to create an edited native code component, and executes the edited native code component beginning at the first point. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A system for editing a software program in a common language runtime environment, the software program having a source code component, an intermediate language component, and a native code component, the system comprising:
-
mean for executing a first portion of the native code component;
means for suspending execution of the native code component at a first point;
means for allowing a user to edit the source code component to create an edited source code component;
means for compiling when necessary the edited source code component using a source compiler to create an edited intermediate language component;
mean for compiling when desired the edited intermediate language component using an intermediate language compiler to create an edited native code component; and
means for executing on demand the edited native code component beginning at the first point.
-
-
49. A system for editing a software program having a source code component, and a native code component, the system comprising:
-
means for executing a first portion of the native code component;
means for suspending execution of the native code component at a first point;
means for allowing a user to edit the source code component to create an edited source code component, add new field to an object of a class to the source code component, add a new method to a class in the source code component, change an existing method in the source code component, and replace an existing method created in a first source language with a new method created in a second source language;
means for converting the edited source code component to create an edited native code component comprising extending a field table associated with the class to accommodate the new field to create an extended field table, extending the field table comprising adding the new field via a synchronization block associated with the object to create an extended object; and
means for executing the edited native code component utilizing the extended field table beginning at the first point.
-
-
50. A computer-readable medium comprising computer-executable instructions for:
-
executing a first portion of a native code component;
suspending execution of the native code component at a first point;
allowing a user to edit a source code component to create an edited source code component;
compiling on request the edited source code component using a source compiler to create an edited intermediate language component;
compiling on demand the edited intermediate language component using an intermediate language compiler to create an edited native code component; and
executing the edited native code component beginning at the first point as required.
-
-
51. A computer-readable medium comprising computer-executable instructions for:
-
executing a first portion of a native code component;
suspending execution of the native code component at a first point;
allowing a user to edit a source code component to create an edited source code component, add a new field to an object of a class to the source code component, add a new method to a class in the source code component, change an existing method in the source code component, and replace an existing method created in a first source language with a new method created in a second source language;
converting the edited source code component to create an edited native code component comprising extending a field table associated with the class to accommodate the new field to create an extended field table, extending the field table comprising adding the new field via a synchronization block associated with the object to create an extended object; and
executing the edited native code component utilizing the extended field table beginning at the first point.
-
-
52. A runtime system for executing a program in a computer system, comprising:
-
an edit and continue component having a debugging services interface component interfacing with a debugger application;
wherein the edit and continue component executes a first portion of a native code component, suspends execution of the native code component at a first point, allows a user to edit a source code component using the debugger application to create an edited source code component, add a new field to an object of a class, extend a field table associated with a class to accommodate a new field to create an extended field table, add the new field via a synchronization block associated with the object to create the extended object, converts the edited source code component into an edited native code component, and executes the edited native code component beginning at the first point. - View Dependent Claims (53)
-
Specification