<?xml version="1.0" encoding="ISO-8859-1"?>
<RSL xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="RSL">
  <domain dname="ObjectPascal"/>
  <rslelems xsi:type="Pattern" ptoken="statement_list">
    <phead name="before_advice_stmt"/>
    <ptext xsi:type="SimplePatternText" ptext="if not ProcDlg1.Process(TotalInsertionsPerformed / TotalInsertionsCalculated) then&#xD;&#xA;&#x9;&#x9;begin&#xD;&#xA;&#x9;&#x9;  ProcDlg1.Canceled := True;&#xD;&#xA;&#x9;&#x9;  Result := True;&#xD;&#xA;&#x9;&#x9;  exit;&#xD;&#xA;&#x9;&#x9;end;"/>
  </rslelems>
  <rslelems xsi:type="Pattern" ptoken="IDENTIFIER">
    <phead name="method_name"/>
    <ptext xsi:type="SimplePatternText" ptext=" Increment"/>
  </rslelems>
  <rslelems xsi:type="Pattern" ptoken="IDENTIFIER">
    <phead name="within_code"/>
    <ptext xsi:type="SimplePatternText" ptext=" mc_"/>
  </rslelems>
  <rslelems xsi:type="ExternalPattern" ptoken="ObjectPascal" dname="ObjectPascal" eptext="around_advice_call">
    <phead name="around_advice_call">
      <params name="program" referTo="ObjectPascal"/>
      <params name="method_name" referTo="IDENTIFIER"/>
      <params name="proceed_call" referTo="IDENTIFIER"/>
      <params name="proceed_bef" referTo="statement_list"/>
      <params name="proceed_aft" referTo="statement_list"/>
      <params name="withincode" referTo="IDENTIFIER"/>
    </phead>
  </rslelems>
  <rslelems xsi:type="Rule" rname="method_Inc" type="ObjectPascal">
    <params name="program" referTo="ObjectPascal"/>
    <r_lhs_pattern>
      <ruletext xsi:type="IDRuleText" text="program"/>
    </r_lhs_pattern>
    <r_rhs_pattern>
      <ruletext xsi:type="ComplexRuleText">
        <pref name="around_advice_call">
          <params xsi:type="RealParameter" name="program"/>
          <params xsi:type="PatternRef" name="method_name"/>
          <params xsi:type="PatternRef" name="method_name"/>
          <params xsi:type="PatternRef" name="before_advice_stmt"/>
          <params xsi:type="PatternRef" name="after_advice_stmt"/>
          <params xsi:type="PatternRef" name="within_code"/>
        </pref>
      </ruletext>
      <condition xsi:type="RuleNotEqCondition" lhs="program">
        <pref name="around_advice_call">
          <params xsi:type="RealParameter" name="program"/>
          <params xsi:type="PatternRef" name="method_name"/>
          <params xsi:type="PatternRef" name="method_name"/>
          <params xsi:type="PatternRef" name="before_advice_stmt"/>
          <params xsi:type="PatternRef" name="after_advice_stmt"/>
          <params xsi:type="PatternRef" name="within_code"/>
        </pref>
      </condition>
    </r_rhs_pattern>
  </rslelems>
  <rslelems xsi:type="Pattern" ptoken="statement_list">
    <phead name="after_advice_stmt"/>
    <ptext xsi:type="SimplePatternText" ptext=""/>
  </rslelems>
  <ruleset rsname="progress_meter">
    <rname>method_Inc</rname>
  </ruleset>
</RSL>

