STATICALLY EXTENSIBLE TYPES
First Claim
1. A system comprising:
- at least one processor;
a memory connected to the at least one processor; and
a module that when loaded into the at least one processor causes the at least one processor to;
receive program source code comprising an initial declaration for a static type of a program component in a first file from a first source;
receive program source code comprising at least one additional declaration for the static type of the component in a second file from a second source, where the at least one additional declaration extends capabilities of the program component at runtime; and
in response to receiving a reference to the static type, display information associated with the merged representation of the static type.
3 Assignments
0 Petitions
Accused Products
Abstract
Statically extensible types allow a static type system to model the behavior of dynamic object model extension in dynamic runtime systems. Static types that model dynamically extended types can be extended using additional declarations in the same compilation. Declarations for a particular type can come from multiple independent sources which can have been defined at multiple points in time. Extension declarations can use the same syntax as the initial type declaration. Hence presence of one or more declarations for the same type in a compilation can indicate that the type has been extended. These features allow static type checking of dynamic plug-ins to be supported using statically extensible types. Declarations and extension declarations for a type can be merged together to create an extended type that enables different processing paths and dependencies.
20 Citations
20 Claims
-
1. A system comprising:
-
at least one processor; a memory connected to the at least one processor; and a module that when loaded into the at least one processor causes the at least one processor to; receive program source code comprising an initial declaration for a static type of a program component in a first file from a first source; receive program source code comprising at least one additional declaration for the static type of the component in a second file from a second source, where the at least one additional declaration extends capabilities of the program component at runtime; and in response to receiving a reference to the static type, display information associated with the merged representation of the static type. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
receiving by a processor of a software development computer, program source code comprising an initial declaration for a static type of a program component in a first file; receiving program source code comprising at least one additional declaration comprising a static type extension for the static type of the component in a second file, where the at least one additional declaration extends capabilities of the program component at runtime; merging the initial declaration for the static type of the program component in the first file with the at least one additional declaration for the static type of the component in the second file to create a merged static type declaration; using the merged static type declaration for static type checking during compilation. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer-readable storage medium comprising computer-readable instructions which when executed cause at least one processor of a computing device to:
perform static type checking at compilation time on program source code based on an extended static interface type, the extended static interface type comprising an initial static type defined by an initial declaration provided in a first source code file merged with at least one extension declaration provided in at least one additional source code file. - View Dependent Claims (15, 16, 17, 18, 19, 20)
Specification