1. In a computing environment, a method of enhancing dynamic code, the method comprising: obtaining one or more first data structures defining constructs in a body of dynamic language source code; from the one or more first data structures, extracting identifier information for one or more of the defined constructs; augmenting knowledge about the constructs, wherein augmenting comprises modeling the results of executing code including symbolic execution, abstraction interpretation, and control and data flow analysis; generating metadata about the body of the dynamic language source code by using at least the identifier information extracted from the one or more first data structures and the augmented knowledge, the generated metadata being represented as an abstract symbol table (AST); traversing the AST and constructing a hierarchical symbol table that expresses scoping of all discovered symbols; performing a subsequent traversal of the AST to accomplish type inferencing and member population; visually enhancing the body of dynamic language source code based on the hierarchical symbol table structure; and wherein visually enhancing the body of dynamic language source code comprises indicating symbol scope by visual artifacts.