1. 01 Sep, 2016 1 commit
    • Kevin Modzelewski's avatar
      Create all FunctionMetadatas for a module at once · 7eacfcdd
      Kevin Modzelewski authored
      There are a bunch of interrelated changes in here that I couldn't really
      separate out.  Mostly the relate to saving data on the AST nodes: we store
      DerefInfo and closure info on the Name nodes, and store FunctionMetadata objects
      on AST nodes that create scopes.  And those FunctionMetadata objects now also
      store "ScopingResults", which is only the results from the ScopeInfo objects,
      not all the extra info those keep around in order to do deferred analysis.
      
      Once all this extra data is precomputed+stored, we can start freeing
      the ScopingAnalysis objects and all the related ScopeInfos.
      
      Future work:
      - Name node shouldn't store scoing info; this should be embedded in choice of BST nodes
      - Do pyc caching post-CFG
      - Memory management.
      - Continue to clean this all up.  I layered this change on top of the existing
        scoping and cfg systems, which reduced the amount of changes, but means that
        there is a potentially-unnecessary layer in the middle now.
      7eacfcdd
  2. 23 Aug, 2016 12 commits
  3. 22 Aug, 2016 8 commits
  4. 21 Aug, 2016 4 commits
  5. 20 Aug, 2016 6 commits
  6. 19 Aug, 2016 4 commits
  7. 18 Aug, 2016 1 commit
  8. 17 Aug, 2016 4 commits