1. 26 Oct, 2017 1 commit
  2. 18 Aug, 2017 1 commit
    • Adam Klein's avatar
      [ast] Save one pointer in most Function and Variable declaration node · 69b165db
      Adam Klein authored
      Currently, Declaration stores a Scope pointer to whichever Scope the
      declaration appeared in. This is used to disallow var declarations
      being hoisted over lexical declarations. For example:
      
        {
          let x;
          { var x; }
        }
      
      But in fact this is the only sort of case where storing the scope
      is required: for lexical declarations (including function declarations
      appearing in blocks), Declaration::scope() was always identical to
      Declaration::proxy()->var()->scope(). That is, only var declarations
      end up "nested" in this way.
      
      This patch adds a subclass of VariableDeclaration to store the Scope.
      Since the only thing that cares about that data is Scope analysis,
      this isn't treated as a distinct AstNode::NodeType from VariableDeclaration,
      leaving all AstVisitors untouched in the process.
      
      Also reworked the logic in Scope::CheckConflictingVarDeclarations() for
      clarity after making changes to accomodate the new code.
      
      Change-Id: I6ee4298700508ab9e28a76ddb8504bae68bc473f
      Reviewed-on: https://chromium-review.googlesource.com/619595
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47441}
      69b165db
  3. 30 Sep, 2015 1 commit
  4. 14 Jul, 2015 1 commit
  5. 24 Jun, 2015 1 commit
  6. 10 Jun, 2015 1 commit
  7. 01 Jun, 2015 1 commit
  8. 02 Mar, 2015 1 commit
  9. 27 Jan, 2015 1 commit
  10. 22 Jan, 2015 1 commit
  11. 07 Jan, 2015 1 commit
  12. 05 Jan, 2015 1 commit
  13. 03 Jan, 2015 1 commit
  14. 24 Jun, 2014 1 commit
  15. 04 Jun, 2014 1 commit
  16. 03 Apr, 2014 1 commit
  17. 31 Mar, 2014 1 commit
  18. 28 Feb, 2014 3 commits
  19. 25 Feb, 2014 1 commit
  20. 20 Feb, 2014 1 commit
  21. 14 Feb, 2014 1 commit