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 6:
6. 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 enclosing expression comprising an assignment or call expression, the assignment or call expression comprising multiple levels of nesting of object literals, function literals or array literals; applying contextual typing by applying a type associated with a property of the object literal, function literal or array literal, to the object literal, function literal or array literal.