• adamk's avatar
    [parser] Remove hoist_scope from DeclarationDescriptor · 59b8496c
    adamk authored
    The hoist_scope member of DeclarationDescriptor was only used to pass the function
    scope for declaration of parameters containing sloppy evals, for example:
    
      function f(x = eval("var y")) { }
    
    In cases like this, "x" is declared in the function scope but "y" is declared in an inner scope.
    Rather than passing the function scope as "hoist_scope", we simply ask for the outer_scope()
    of the inner scope as needed in PatternRewriter.
    
    This reduces the cognitive overhead of understanding what a DeclarationDescriptor has; for
    example, it removes some dead code from the PreParser which never has to deal
    with a situation like the example above.
    
    Review-Url: https://codereview.chromium.org/2662183002
    Cr-Commit-Position: refs/heads/master@{#42861}
    59b8496c
parser.h 46.7 KB