<scalastyle>
 <name>Scalastyle configuration for Chisel3 unit tests</name>
 <check level="warning" class="org.scalastyle.file.FileTabChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.file.FileLengthChecker" enabled="true">
  <parameters>
   <parameter name="maxFileLength"><![CDATA[800]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.file.HeaderMatchesChecker" enabled="true">
  <parameters>
   <parameter name="header"><![CDATA[// See LICENSE for license details.]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.SpacesAfterPlusChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.file.WhitespaceEndOfLineChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.scalariform.SpacesBeforePlusChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.file.FileLineLengthChecker" enabled="true">
  <parameters>
   <parameter name="maxLineLength"><![CDATA[120]]></parameter>
   <parameter name="tabSize"><![CDATA[4]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.ClassNamesChecker" enabled="true">
  <parameters>
   <parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.ObjectNamesChecker" enabled="true">
  <parameters>
   <parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.PackageObjectNamesChecker" enabled="true">
  <parameters>
   <parameter name="regex"><![CDATA[^[a-z][A-Za-z]*$]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.EqualsHashCodeChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.scalariform.IllegalImportsChecker" enabled="true">
  <parameters>
   <parameter name="illegalImports"><![CDATA[sun._,java.awt._]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.ParameterNumberChecker" enabled="true">
  <parameters>
   <parameter name="maxParameters"><![CDATA[8]]></parameter>
  </parameters>
 </check>
 <!-- Numerical constants are used a lot in test setups, it would be burdensome to require each one be its own val
 declaration. -->
 <check level="warning" class="org.scalastyle.scalariform.MagicNumberChecker" enabled="false"></check>
 <!-- Scalatest's exception checking syntax looks like "a [ChiselException] should be thrownBy". -->
 <check level="warning" class="org.scalastyle.scalariform.NoWhitespaceBeforeLeftBracketChecker" enabled="false"></check>
 <check level="warning" class="org.scalastyle.scalariform.NoWhitespaceAfterLeftBracketChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.scalariform.ReturnChecker" enabled="false"></check>
 <check level="warning" class="org.scalastyle.scalariform.NullChecker" enabled="false"></check>
 <check level="warning" class="org.scalastyle.scalariform.NoCloneChecker" enabled="false"></check>
 <check level="warning" class="org.scalastyle.scalariform.NoFinalizeChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.scalariform.CovariantEqualsChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.scalariform.StructuralTypeChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.file.RegexChecker" enabled="true">
  <parameters>
   <parameter name="regex"><![CDATA[^.*;(\r|)\n]]></parameter>
  </parameters>
  <customMessage>No lines ending with a ;</customMessage>
 </check>
 <check level="warning" class="org.scalastyle.file.RegexChecker" enabled="true">
  <parameters>
   <parameter name="regex"><![CDATA[println]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.NumberOfTypesChecker" enabled="true">
  <parameters>
   <parameter name="maxTypes"><![CDATA[30]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.CyclomaticComplexityChecker" enabled="true">
  <parameters>
   <parameter name="maximum"><![CDATA[10]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.UppercaseLChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.scalariform.SimplifyBooleanExpressionChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.scalariform.IfBraceChecker" enabled="true">
  <parameters>
   <parameter name="singleLineAllowed"><![CDATA[true]]></parameter>
   <parameter name="doubleLineAllowed"><![CDATA[false]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.MethodLengthChecker" enabled="true">
  <parameters>
   <parameter name="maxLength"><![CDATA[50]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.MethodNamesChecker" enabled="true">
  <parameters>
   <parameter name="regex"><![CDATA[^[a-z][A-Za-z0-9_]*(_=)?$]]></parameter>
   <parameter name="ignoreRegex"><![CDATA[^(\+[&%]?|\-[&%]?|\*|/|%|&|\||\^|<|>|\|\||&&|:=|<>|<=|>=|!=|===|=/=|<<|>>|##|unary_(~|\-%?|!))$]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.NumberOfMethodsInTypeChecker" enabled="true">
  <parameters>
   <parameter name="maxMethods"><![CDATA[30]]></parameter>
  </parameters>
 </check>
 <check level="warning" class="org.scalastyle.scalariform.PublicMethodsHaveTypeChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.file.NewLineAtEofChecker" enabled="true"></check>
 <check level="warning" class="org.scalastyle.file.NoNewLineAtEofChecker" enabled="false"></check>
</scalastyle>
