Patent application number | Description | Published |
20100169871 | STRUCTURED SEARCH IN SOURCE CODE - Architecture allows a programmer to answer questions about the source code the programmer is authoring, questions that cannot be answered by other means. A searching mechanism is provided over a much more structured presentation of the source code. The architecture utilizes components that provide an intimate knowledge about the structure of the text, namely, the source code of some particular programming language. The search mechanism employs an abstract syntax tree representation of the code over which the search is conducted. The program source code (as edited by the programmer) is transformed into the abstract syntax tree to embody the structure of the program. If the syntax tree is provided in XML, for example, an XML search mechanism such as Xpath can be utilized to perform the actual searching. This tree is then queried, allowing richer searching criteria to be expressed (by virtue of the structured format of the tree). | 07-01-2010 |
20120144367 | EVENTS FIRED PRE- AND POST-METHOD EXECUTION - Customization of source code of a software program like a business application is enabled without modifying the source code of the software. External pieces of source code may be executed prior to, and/or following the invocation of selected methods. The external methods executed prior to a designated method call may change the parameter values that the designated method gets called with, and the methods executed after the designated method has been called may change a value returned from the designated method. | 06-07-2012 |
20120159429 | METADATA BASED EVENTING - Customization of software source code is enabled by adding the event handlers to be invoked in metadata instead of as coding artifacts. The fact that classes offer delegates that can be assigned handlers is described as part of metadata, in other words, as descriptions of the event itself. By defining eventing in metadata, adding and/or removing handlers for specific events is enabled without programming or modification of the source code. | 06-21-2012 |
20120159515 | SHARING OBJECT REPRESENTATIONS - Concepts and technologies are described herein for sharing object representations between one or more runtime environments. In accordance with the concepts and technologies disclosed herein, logic defining objects includes references to one or more object proxies. Logic defining the object proxies can include a reference to at least one object corresponding to the object proxy. When an object reference associated with the object proxy is generated, the object reference is routed to the object corresponding to the object proxy. According to various implementations, the object is accessed via accessing the object proxy. Thus, the object may appear native to the runtime environment in which the object proxy resides. In some embodiments, a conduit translates object references from object proxies to objects, and enables communications between runtime environments. Objects also can be referenced by more than one object proxies. | 06-21-2012 |
20120159516 | METADATA-BASED EVENTING SUPPORTING OPERATIONS ON DATA - Concepts and technologies are described herein for providing metadata-based eventing supporting operations on data. Application data such as classes and events can be stored in a table and can be associated with and/or described by application metadata. The application metadata also can specify one or more event handlers that reference one or more methods on a class. The event handlers can be invoked via various delegates linked to the one or more application metadata tables. When a create, update, or delete operation on the application data is received, the application metadata can be queried to determine if the application metadata describes event handlers associated with the application data. If event handlers associated with the application data exist, the event handlers can be invoked. | 06-21-2012 |
20120227034 | INCREMENTAL GENERATION OF MANAGED ASSEMBLIES - Concepts and technologies are described herein for incremental generation of managed assemblies. In accordance with some of the concepts and technologies disclosed herein, a compiler incrementally generates a managed assembly thereby facilitating a rapid application development environment in which changes to the assembly require recompilation of only a changed portion of the assembly instead of recompilation of the entire assembly. | 09-06-2012 |
20140359587 | DEEPLY PARALLEL SOURCE CODE COMPILATION - Abstract Syntax Trees (ASTs) are generated using the source code of a programming language that include information relating to the structure of the program. The generation of the ASTs may be performed in parallel. The types are split into a number of modules (e.g. configurable) that form an assembly. During the different stages of the compilation process, each module may be compiled in parallel. As the different modules are being compiled (e.g. in parallel), compiler metadata from the different modules may be written to a repository accessible by the different compilation processes. After flowing through the compilation pipeline, each of the enriched ASTs are used for code generation where they are transformed into the target language (e.g. a code stream that can be executed on hardware). The executable code is then stored as part of the assembly. The storage of the code may also be performed in parallel. | 12-04-2014 |