• nikolaos's avatar
    Add spread rewriting · 07f1c362
    nikolaos authored
    In short, array literals containing spreads, when used as expressions,
    are rewritten using do expressions.  E.g.
    
        [1, 2, 3, ...x, 4, ...y, 5]
    
    is roughly rewritten as:
    
        do {
          $R = [1, 2, 3];
          for ($i of x) %AppendElement($R, $i);
          %AppendElement($R, 4);
          for ($j of y) %AppendElement($R, $j);
          %AppendElement($R, 5);
          $R
        }
    
    where $R, $i and $j are fresh temporary variables.
    
    R=rossberg@chromium.org
    BUG=
    
    Review URL: https://codereview.chromium.org/1564083002
    
    Cr-Commit-Position: refs/heads/master@{#33307}
    07f1c362
Name
Last commit
Last update
..
OWNERS Loading commit data...
ast-expression-rewriter.cc Loading commit data...
ast-expression-rewriter.h Loading commit data...
ast-expression-visitor.cc Loading commit data...
ast-expression-visitor.h Loading commit data...
ast-literal-reindexer.cc Loading commit data...
ast-literal-reindexer.h Loading commit data...
ast-numbering.cc Loading commit data...
ast-numbering.h Loading commit data...
ast-value-factory.cc Loading commit data...
ast-value-factory.h Loading commit data...
ast.cc Loading commit data...
ast.h Loading commit data...
modules.cc Loading commit data...
modules.h Loading commit data...
prettyprinter.cc Loading commit data...
prettyprinter.h Loading commit data...
scopeinfo.cc Loading commit data...
scopeinfo.h Loading commit data...
scopes.cc Loading commit data...
scopes.h Loading commit data...
variables.cc Loading commit data...
variables.h Loading commit data...