Patent Document ID: 9639335
Application ID: 13798100

Base Claim:
1. A method comprising: receiving a parse tree representing program source code by a processor of a software development computer, the program source code comprising at least one enclosing expression, the enclosing expression enclosing at least one enclosed expression; assigning a type associated with the enclosing expression to the at least one enclosed expression by: evaluating the at least one enclosing expression of the parse tree for applicability of contextual typing by: comparing the at least one enclosing expression of the parse tree with a set of templates; selecting a template from the set of templates, the selected template matching the at least one enclosing expression, the selected template associated with a process for assigning a type to the at least one enclosed expression; and assigning a type to the at least one enclosed expression by performing the process for assigning type to the at least one enclosed expression associated with the selected template in a top down direction; and providing type information for the at least one enclosed expression whose type is inferred from the type of an expression that encloses the enclosed expression on a display device.

---

Claim 5:
5. The method of claim 1 , further comprising: apply contextual typing to the at least one enclosed expression of the at least one enclosing expression of the parse tree, the at least one enclosed expression comprising a return statement and the at least one enclosing expression comprising a function of a known return type, by assigning a type of the function to the return statement.