IP Library Granted Patent US 8,201,157
Granted Patent B2
US 8,201,157 · App. 11/743,862 · Granted Jun 12, 2012

Dependency checking and management of source code, generated source code files, and library files

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,201,157
App. No.
11/743,862
Granted
Jun 12, 2012
Kind
B2
Abstract

An Integrated Design Environment (IDE) includes an on-the-fly compiler. The IDE does a first compiler pass that review code for dependencies. In the first compiler pass, the IDE compiles source files, where files having any unresolved types or errors are marked for a second pass recompilation. The IDE does a second compiler pass that does a multithreaded compilation of the code in an order determined using the dependencies. In the second compiler pass, any file that uses the files compiled in the first pass are recompiled. Additionally, any files marked for unresolved types or errors are also recompiled.

Claims (39)

1. A computer-implemented method comprising:

compiling, in a first compiler pass, one or more source files;

contributing, in the first compiler pass, one or more types to a package;

compiling, in the first compiler pass, one or more processed source files that are produced from the compilation of the one or more source files;

contributing, in the first compiler pass, one or more resulting types to the package;

marking, in the first compiler pass, one or more source files having unresolved types or errors for second pass compilation;

compiling, in a second compiler pass, one or more source files that use the source files compiled in the first compiler pass;

compiling, in the second compiler pass, the marked one or more source files having unresolved types or errors; and

partitioning the one or more source files into a plurality of groups by annotations, wherein source files of the one or more source files having similar dependencies are grouped together and processed by different threads and source files of the one or more source files that do not have any dependencies are grouped together.

2. The computer-implemented method of claim 1 , wherein the method is part of an integrated design environment (IDE).

3. The computer-implemented method of claim 2 , wherein the compiling is done while code is being modified by a user.

4. The computer-implemented method claim 1 , wherein the compilation includes constructing code using annotations.

5. The computer-implemented method of claim 1 , wherein sections of the one or more source files with dependencies are partitioned.

6. An Integrated Design Environment (IDE) system for compiling source code, comprising:

a processor;

a compiler configured to compile, in a first compiler pass, one or more source files, wherein the compiler is executed by the processor;

a contributor configured to contribute, in the first compiler pass, one or more types to a package, wherein the contributor is executed by the processor;

wherein the compiler is further configured to compile, in the first compiler pass, one or more processed source files that are produced from the compilation of the one or more source files;

wherein the contributor is further configured to contribute, in the first compiler pass, one or more resulting types to the package;

a marker configured to mark, in the first compiler pass, one or more source files having unresolved types or errors for second pass compilation;

wherein the compiler is further configured to compile, in a second compiler pass, one or more source files that use the source files compiled in the first compiler pass; and

wherein the compiler is further configured to compile, in the second compiler pass, the marked one or more source files having unresolved types or errors; and

a practitioner configured to partition the one or more source files into a plurality of groups by annotations, wherein source files of the one or more source files having similar dependencies are grouped together and processed by different threads and source files of the one or more source files that do not have any dependencies are grouped together.

7. The Integrated Design Environment system of claim 6 , wherein the compiling is done while code is being modified by a user.

8. The Integrated Design Environment system of claim 6 , wherein the compilation includes constructing code using annotations.

9. The Integrated Design Environment system of claim 6 , wherein sections of the code with dependencies are partitioned.

10. A computer-readable medium comprising code that, when executed by a processor, causes the processor to compile source code, the code comprising:

compiling, in a first compiler pass, one or more source files;

contributing, in the first compiler pass, one or more types to a package;

compiling, in the first compiler pass, one or more processed source files that are produced from the compilation of the one or more source files;

contributing, in the first compiler pass, one or more resulting types to the package;

marking, in the first compiler pass, one or more source files having unresolved types or errors for second pass compilation;

compiling, in a second compiler pass, one or more source files that use the source files compiled in the first compiler pass;

compiling, in the second compiler pass, the marked one or more source files having unresolved types or errors; and

partitioning the one or more source files into a plurality of groups by annotations, wherein source files of the one or more source files having similar dependencies are grouped together and processed by different threads and source files of the one or more source files that do not have any dependencies are grouped together.

11. The computer-readable medium of claim 10 , wherein the code is part of an IDE.

12. The computer-readable medium of claim 10 , wherein the compiling is done while code is being modified by a user.

13. The computer-readable medium claim 10 , wherein the compilation includes constructing code using annotations.

14. The computer-readable medium of claim 10 , wherein sections of the code with dependencies are partitioned.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2010
From: BEA SYSTEMS, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 025084/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2007
From: KOVAKS, MICHAEL
To: BEA SYSTEMS, INC.
Reel/Frame 019937/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2007
From: WAGNER, TIMOTHY ALLEN; HANSON, TIMOTHY; GARMS, JESSE MICHAEL
To: BEA SYSTEMS, INC.
Reel/Frame 019718/0558 →