( 351 of 478 ) |
United States Patent | 5,488,727 |
Agrawal , et al. | January 30, 1996 |
Methods and related apparatus, for use in programming language systems, are set forth which support compile-time type checking for overloaded functions in an environment supporting subtypes with multiple inheritance. At both compile and runtime, the invention considers the type of all actual arguments of a function to select a proper function instance to execute. Furthermore, the methods contemplated by the invention identify at compile time the set of function instances which might be invoked due to subtype substitutions for the actual arguments. Since type errors on function invocations or variable assignments are usually indicative of a programming error, program reliability can be improved and faults that would otherwise result in runtime errors can be corrected through the use of the invention prior to program deployment.
Inventors: | Agrawal; Rakesh (San Jose, CA), De Michiel; Linda G. (Los Altos, CA), Lindsay; Bruce G. (San Jose, CA) |
Assignee: |
International Business Machines Corporation
(Armonk,
NY)
|
Appl. No.: | 07/771,376 |
Filed: | September 30, 1991 |
Current U.S. Class: | 717/154 ; 712/E9.085; 717/165 |
Current International Class: | G06F 9/45 (20060101); G06F 9/40 (20060101); G06F 9/42 (20060101); G06F 009/45 (); G06F 011/00 () |
Field of Search: | 395/650,700 |
4595981 | June 1986 | Leung |
4686623 | August 1987 | Wallace |
4694420 | September 1987 | Pettet et al. |
4696003 | September 1987 | Kerr et al. |
4802165 | January 1989 | Ream |
4819160 | April 1989 | Tanica et al. |
4827404 | May 1989 | Barstow et al. |
4864569 | September 1989 | Delucia et al. |
4885684 | December 1989 | Austin et al. |
4894771 | January 1990 | Kunii et al. |
4937739 | June 1990 | Ernst et al. |
4953084 | August 1990 | Meloy et al. |
5021947 | June 1991 | Campbell et al. |
5093914 | March 1992 | Coplien et al. |
Lecluse et al., Manipulation of Structured Values in Object Oriented Databases, 1989, The Whole Document. . Lomet, Hardware Assistance For Type Checking, May, 1976. . Beaven, A Functional Language with Classes, 1991, pp. 364-370. Conference Date: 18-20 Oct. 1989. . O'Brien, The Trellis Programming Environment, 1987, Sig Plan Notices vol. 22, No. 12, pp. 91-102. . Shaffert, An Introduction to Trellis/Owl, 1986, Sig Plan Notices vol. 21, No. 11, pp. 9-16. . Lafore, R., The Waite Group's C Programming Using Turbo C.sup.++, 1990, pp. 667-669.. |