<?xml version="1.0" encoding="UTF-8"?>
<problems>
  <problem>
    <file>ReplaceAssignmentWithOperatorAssignment.java</file>
    <line>14</line>
    <problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Assignment replaceable with operator assignment</problem_class>
    <description>&lt;code&gt;x = x + 3&lt;/code&gt; could be simplified to 'x += 3' #loc</description>
  </problem>

  <problem>
    <file>ReplaceAssignmentWithOperatorAssignment.java</file>
    <line>15</line>
    <problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Assignment replaceable with operator assignment</problem_class>
    <description>&lt;code&gt;x = x * 3&lt;/code&gt; could be simplified to 'x *= 3' #loc</description>
  </problem>

  <problem>
    <file>ReplaceAssignmentWithOperatorAssignment.java</file>
    <line>16</line>
    <problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Assignment replaceable with operator assignment</problem_class>
    <description>&lt;code&gt;x = x / 3&lt;/code&gt; could be simplified to 'x /= 3' #loc</description>
  </problem>

  <problem>
    <file>ReplaceAssignmentWithOperatorAssignment.java</file>
    <line>17</line>
    <problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Assignment replaceable with operator assignment</problem_class>
    <description>&lt;code&gt;x = x - 3&lt;/code&gt; could be simplified to 'x -= 3' #loc</description>
  </problem>

  <problem>
    <file>ReplaceAssignmentWithOperatorAssignment.java</file>
    <line>18</line>
    <problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Assignment replaceable with operator assignment</problem_class>
    <description>&lt;code&gt;x = x + 2 + 2 + 2&lt;/code&gt; could be simplified to 'x += 2 + 2 + 2' #loc</description>
  </problem>

  <problem>
    <file>ReplaceAssignmentWithOperatorAssignment.java</file>
    <line>27</line>
    <problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Assignment replaceable with operator assignment</problem_class>
    <description>&lt;code&gt;x = x * 2 * 2&lt;/code&gt; could be simplified to 'x *= 2 * 2' #loc</description>
  </problem>

  <problem>
    <file>ReplaceAssignmentWithOperatorAssignment.java</file>
    <line>33</line>
    <entry_point TYPE="method" FQNAME="com.siyeh.igtest.assignment.replace_assignment_with_operator_assignment.ReplaceAssignmentWithOperatorAssignment void foo()" />
    <problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Assignment replaceable with operator assignment</problem_class>
    <description>&lt;code&gt;(a) = (int)(a + (d - d))&lt;/code&gt; could be simplified to '(a) += (d - d)' #loc</description>
  </problem>
</problems>