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

Ungrouped