1. 04 May, 2017 1 commit
  2. 25 Apr, 2017 1 commit
    • jgruber's avatar
      [regexp] Fix unicode escapes in test strings · 9372dd95
      jgruber authored
      Some of these tests pass the pattern as a string, and in this case
      there's a subtle distinction between
      
      "/\u{0041}/"  // Unicode escape interpreted in string literal.
      
      and
      
      "/\\u{0041}/"  // Unicode escape interpreted by regexp parser.
      
      Extend these tests to check both cases.
      
      Thanks littledan@ for pointing this out.
      
      BUG=v8:5437
      
      Review-Url: https://codereview.chromium.org/2839923002
      Cr-Commit-Position: refs/heads/master@{#44840}
      9372dd95
  3. 07 Apr, 2017 3 commits
  4. 05 Apr, 2017 1 commit
  5. 03 Apr, 2017 1 commit
  6. 31 Mar, 2017 2 commits
  7. 28 Mar, 2017 4 commits
    • jgruber's avatar
      [regexp] Handle unmatched groups in callable replacers · 19f626f0
      jgruber authored
      BUG=v8:5437
      
      Review-Url: https://codereview.chromium.org/2776263003
      Cr-Commit-Position: refs/heads/master@{#44194}
      19f626f0
    • jgruber's avatar
      [regexp] Named capture support for string replacements · 9403edfa
      jgruber authored
      This implements support for named captures in
      RegExp.prototype[@@replace] for when the replaceValue is not callable.
      
      Named captures can be referenced from replacement strings by using the
      "$<name>" syntax. A couple of examples:
      
      let re = /(?<fst>.)(?<snd>.)/u;
      "abcd".replace(re, "$<snd>$<fst>")  // "bacd"
      "abcd".replace(re, "$2$1")     // "bacd" (numbered refs work as always)
      "abcd".replace(re, "$<snd")    // SyntaxError (unterminated named ref)
      "abcd".replace(re, "$<42$1>")  // "cd" (invalid name)
      "abcd".replace(re, "$<thd>")   // "cd" (non-existent name)
      "abcd".replace(/(?<fst>.)|(?<snd>.)/u, "$<snd>")  // "cd" (non-matched capture)
      
      Support is currently behind the --harmony-regexp-named-captures flag.
      
      BUG=v8:5437
      
      Review-Url: https://codereview.chromium.org/2775303002
      Cr-Original-Commit-Position: refs/heads/master@{#44171}
      Committed: https://chromium.googlesource.com/v8/v8/+/17f13863b64b25eccf565e0aa9c4c441f0562b84
      Review-Url: https://codereview.chromium.org/2775303002
      Cr-Commit-Position: refs/heads/master@{#44182}
      9403edfa
    • jgruber's avatar
      Revert of [regexp] Named capture support for string replacements (patchset #5... · 34ffdd62
      jgruber authored
      Revert of [regexp] Named capture support for string replacements (patchset #5 id:80001 of https://codereview.chromium.org/2775303002/ )
      
      Reason for revert:
      Invalid DCHECKs for non-matched groups.
      
      Original issue's description:
      > [regexp] Named capture support for string replacements
      >
      > This implements support for named captures in
      > RegExp.prototype[@@replace] for when the replaceValue is not callable.
      >
      > Named captures can be referenced from replacement strings by using the
      > "$<name>" syntax. A couple of examples:
      >
      > let re = /(?<fst>.)(?<snd>.)/u;
      > "abcd".replace(re, "$<snd>$<fst>")  // "bacd"
      > "abcd".replace(re, "$2$1")     // "bacd" (numbered refs work as always)
      > "abcd".replace(re, "$<snd")    // SyntaxError (unterminated named ref)
      > "abcd".replace(re, "$<42$1>")  // "cd" (invalid name)
      > "abcd".replace(re, "$<thd>")   // "cd" (non-existent name)
      > "abcd".replace(/(?<fst>.)|(?<snd>.)/u, "$<snd>")  // "cd" (non-matched capture)
      >
      > Support is currently behind the --harmony-regexp-named-captures flag.
      >
      > BUG=v8:5437
      >
      > Review-Url: https://codereview.chromium.org/2775303002
      > Cr-Commit-Position: refs/heads/master@{#44171}
      > Committed: https://chromium.googlesource.com/v8/v8/+/17f13863b64b25eccf565e0aa9c4c441f0562b84
      
      TBR=yangguo@chromium.org,littledan@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:5437
      
      Review-Url: https://codereview.chromium.org/2776293003
      Cr-Commit-Position: refs/heads/master@{#44180}
      34ffdd62
    • jgruber's avatar
      [regexp] Named capture support for string replacements · 17f13863
      jgruber authored
      This implements support for named captures in
      RegExp.prototype[@@replace] for when the replaceValue is not callable.
      
      Named captures can be referenced from replacement strings by using the
      "$<name>" syntax. A couple of examples:
      
      let re = /(?<fst>.)(?<snd>.)/u;
      "abcd".replace(re, "$<snd>$<fst>")  // "bacd"
      "abcd".replace(re, "$2$1")     // "bacd" (numbered refs work as always)
      "abcd".replace(re, "$<snd")    // SyntaxError (unterminated named ref)
      "abcd".replace(re, "$<42$1>")  // "cd" (invalid name)
      "abcd".replace(re, "$<thd>")   // "cd" (non-existent name)
      "abcd".replace(/(?<fst>.)|(?<snd>.)/u, "$<snd>")  // "cd" (non-matched capture)
      
      Support is currently behind the --harmony-regexp-named-captures flag.
      
      BUG=v8:5437
      
      Review-Url: https://codereview.chromium.org/2775303002
      Cr-Commit-Position: refs/heads/master@{#44171}
      17f13863
  8. 27 Mar, 2017 1 commit
  9. 23 Mar, 2017 1 commit
  10. 01 Feb, 2017 1 commit
  11. 26 Jan, 2017 2 commits
  12. 20 Jan, 2017 4 commits
  13. 15 Jun, 2016 1 commit