Packages

package rule

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. abstract class Rule extends AnyRef

    A Scalafix Rule.

    A Scalafix Rule.

    To provide automatic fixes for this rule, override the fix method. Example:

    object ReverseNames extends Rule("ReverseNames") {
      override def fix(ctx: RuleCtx) =
        ctx.tree.collect {
          case name @ Name(value) => ctx.replaceTree(name, value.reverse)
        }.asPatch
    }

    To report violations of this rule (without automatic fix), override the check method. Example:

    // example syntactic linter
    object NoNulls extends Rule("NoNulls") {
      val error = LintCategory.error("Nulls are not allowed.")
      override def check(ctx: RuleCtx): List[LintMessage] = ctx.tree.collect {
        case nil @ q"null" => error.at(nil.pos)
      }
    }
  2. trait RuleCtx extends PatchOps
  3. final case class RuleIdentifier(value: String, deprecated: Option[Deprecated]) extends Product with Serializable

    A thin wrapper around a string name and optional deprecation warning.

  4. final case class RuleName(identifiers: List[RuleIdentifier]) extends Product with Serializable

    A thin wrapper around a list of RuleIdentifier.

  5. abstract class SemanticRule extends Rule

Value Members

  1. object Rule
  2. object RuleCtx
  3. object RuleIdentifier extends Serializable
  4. object RuleName extends Serializable
  5. object ScalafixRules

Ungrouped