abstract class Rule extends AnyRef
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) } }
- Self Type
- Rule
- Alphabetic
- By Inheritance
- Rule
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def apply(ctx: RuleCtx, patches: Map[RuleName, Patch]): String
- final def apply(ctx: RuleCtx, patch: Patch): String
- final def apply(input: String): String
- final def apply(input: scala.meta.Input, config: internal.config.ScalafixConfig = ScalafixConfig.default): String
-
final
def
apply(ctx: RuleCtx): String
Returns string output of applying this single patch.
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
check(ctx: RuleCtx): Seq[LintMessage]
Returns linter messages to report violations of this rule.
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
diff(ctx: RuleCtx, patch: Patch): String
- Attributes
- protected
-
final
def
diff(ctx: RuleCtx): String
Returns unified diff from applying this patch
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
fix(ctx: RuleCtx): Patch
Returns a patch to fix violations of this rule.
-
def
fixWithName(ctx: RuleCtx): Map[RuleName, Patch]
- Attributes
- protected[scalafix]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
init(config: Conf): Configured[Rule]
Initialize this rule with the given user configuration.
Initialize this rule with the given user configuration.
This method is called once by scalafix before rule is called. Use this method to either read custom configuration or to build expensive indices.
- config
The .scalafix.conf configuration.
- returns
the initialized rule or an error. If no initialization is needed, return Configured.Ok(this).
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
merge(other: Rule): Rule
Combine this rule with another rule.
- final def name: RuleName
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
semanticOption: Option[SemanticdbIndex]
- Attributes
- protected[scalafix]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
toString(): String
- Definition Classes
- Rule → AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )