• 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...
expression-classifier.h Loading commit data...
func-name-inferrer.cc Loading commit data...
func-name-inferrer.h Loading commit data...
json-parser.h Loading commit data...
parameter-initializer-rewriter.cc Loading commit data...
parameter-initializer-rewriter.h Loading commit data...
parser-base.h Loading commit data...
parser.cc Loading commit data...
parser.h Loading commit data...
pattern-rewriter.cc Loading commit data...
preparse-data-format.h Loading commit data...
preparse-data.cc Loading commit data...
preparse-data.h Loading commit data...
preparser.cc Loading commit data...
preparser.h Loading commit data...
rewriter.cc Loading commit data...
rewriter.h Loading commit data...
scanner-character-streams.cc Loading commit data...
scanner-character-streams.h Loading commit data...
scanner.cc Loading commit data...
scanner.h Loading commit data...
token.cc Loading commit data...
token.h Loading commit data...