Patent Document ID: 9582394
Application ID: 12824992

Base Claim:
1. A method, comprising: detecting an event that causes a compiler to generate diagnostic information; storing the diagnostic information for the event in a manner that preserves semantic information associated with the event; receiving diagnostic information at a particular development tool, wherein the diagnostic information was generated by the compiler while compiling source code for a program created using the development tool, wherein the diagnostic information has a structured representation that is configured to be plugged into at least one diagnostic formatter from a set of diagnostic formatters, which comprises: a raw diagnostic formatter that outputs diagnostic information using an internal format of the compiler for diagnostic information; a tunneling diagnostic formatter that encodes the diagnostic information into a structured XML document; a rich diagnostic formatter that performs the following modifications to the diagnostic information: localizing the diagnostic output; shortening a unique name in the diagnostic information while preserving the name's uniqueness; lengthening a clashing name in the diagnostic information to make the clashing name unique; and adding a where clause to the diagnostic information that provides additional type information for variables in the diagnostic information; selecting the raw diagnostic formatter from the set of diagnostic formatters based on a particular output context for the particular development tool; using the raw diagnostic formatter to modify at least a particular part of the diagnostic information before presenting the particular part of the diagnostic information to a user through the particular development tool; selecting the rich diagnostic formatter from the set of diagnostic formatters; tunneling the diagnostic information through one or more intermediate application layers to a subsequent development tool; using the rich diagnostic formatter to modify at least a subsequent part of the diagnostic information before presenting the subsequent part of the diagnostic information to the user through the subsequent development tool; comparing the modified particular part of the diagnostic information or the modified subsequent part of the diagnostic information to a reference diagnostic output generated by a reference compiler; and presenting the modified particular part of the diagnostic information to the user through the particular development tool, the modified subsequent part of the diagnostic information to the user through the subsequent development tool and results of the comparison to the reference diagnostic output.

---

Claim 2:
2. The method of claim 1 , wherein presenting the diagnostic information a particular diagnostic tool and a subsequent diagnostic tool comprises one of: presenting the diagnostic information through the particular diagnostic tool simultaneously with presenting the diagnostic information through the subsequent diagnostic tool; and presenting the diagnostic information through the subsequent diagnostic tool after presenting the diagnostic information through the particular diagnostic tool.