<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>150559</bug_id>
          
          <creation_ts>2015-10-26 09:48:55 -0700</creation_ts>
          <short_desc>Pattern matcher should support delegation</short_desc>
          <delta_ts>2015-11-11 10:49:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>150279</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1136531</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-10-26 09:48:55 -0700</bug_when>
    <thetext>Currently, if you write two pattern matchers and you implement one by sometimes using the other as a helper, then the helper will return the first match that works for it regardless of what the outer matcher wants.  For example, the outer matcher might want any address except for Index, and so it might want to use the address matcher but somehow tell it &quot;please skip anything that produces Index&quot;.  But this is currently hard.  You&apos;d have to manually set some state on the address matcher that tells it what kinds of things to filter out, and write code in the address matcher that applies the filter.  It would be better if this was easier to do.  For example, when you runAddressMatcher, you could provide a functor that filters the results of the address matcher.  This could be made even better if matchers returned a value rather than void.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141161</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-11 10:49:12 -0800</bug_when>
    <thetext>We got rid of the pattern matcher.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>