Trait

scalafix.patch

PatchOps

Related Doc: package patch

Permalink

trait PatchOps extends AnyRef

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PatchOps
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def addGlobalImport(symbol: Symbol)(implicit index: util.SemanticdbIndex): Patch

    Permalink

    Add an import on symbol among the global imports.

    Add an import on symbol among the global imports.

    This patch is not reference, unlike removeImportee(Importee). It is only necessary to use this patch once per tree, duplicate symbols are ignored.

  2. abstract def addGlobalImport(importer: Importer): Patch

    Permalink

    Add this importer to the global imports at the top of this file.

    Add this importer to the global imports at the top of this file.

    It is OK to pass in a quasiquote here. The importer has no attached semantic information, so it's not possible to deduplicate Importers.

  3. abstract def addLeft(tree: Tree, toAdd: String): Patch

    Permalink

    Add the string toAdd to the first token of tree.

    Add the string toAdd to the first token of tree. Does not remove tokens.

  4. abstract def addLeft(token: scala.meta.Token, toAdd: String): Patch

    Permalink

    Add the string toAdd to the left side of token, while keeping token.

  5. abstract def addRight(tree: Tree, toAdd: String): Patch

    Permalink

    Add the string toAdd to the last token of tree.

    Add the string toAdd to the last token of tree. Does not remove tokens.

  6. abstract def addRight(token: scala.meta.Token, toAdd: String): Patch

    Permalink

    Add the string toAdd to the right side of token, while keeping token.

  7. abstract def lint(msg: lint.Diagnostic): Patch

    Permalink

    Report a linter message.

    Report a linter message.

    To construct a LintMessage, start by creating a lint category. Example:

    class MyLinter extends Rule {
      val divisionByZero = scalafix.LintCategory.error("Division by zero!")
      val divisionTree: scala.meta.Tree = ???
      PatchOps.lint(divisionByZero.at(divisionTree.pos))
    }

    Each LintCategory is assigned a unique identifier, which is formatted as "RuleName.categoryID". The divisionByZero example would have the id "MyLinter.divisionByZero". A LintCategory has a default severity level (warning, error) that the user can override in .scalafix.conf.

  8. abstract def removeGlobalImport(symbol: Symbol)(implicit index: util.SemanticdbIndex): Patch

    Permalink

    Remove importees that resolve to symbol.

    Remove importees that resolve to symbol.

    Note, this patch is not reference, unlike removeImportee(Importee). It is only necessary to use this patch once per tree, duplicate symbols are ignored.

  9. abstract def removeImportee(importee: Importee): Patch

    Permalink

    Remove this particular instance of Importee.

    Remove this particular instance of Importee.

    Handles tricky cases like trailing commas or curly braces. Example, removeImportee(b) in import a.{b, c} produces import a.c.

    Note, importee instance is by reference, so removing quasiquotes (example, removeImportee(importee"b")) does nothing.

  10. abstract def removeToken(token: scala.meta.Token): Patch

    Permalink

    Replace single token with empty string.

  11. abstract def removeTokens(tokens: Iterable[scala.meta.Token]): Patch

    Permalink
  12. abstract def removeTokens(tokens: scala.meta.Tokens): Patch

    Permalink

    Replace all tokens with empty string.

  13. abstract def renameSymbol(fromSymbol: Global, toName: String)(implicit index: util.SemanticdbIndex): Patch

    Permalink

    Replace appearances of names that reference fromSymbol with toName.

    Replace appearances of names that reference fromSymbol with toName.

    toName should be a legal identifier, it cannot be a tree such as foo(). Use this patch for example to rename a methods on a class.

  14. abstract def replaceSymbol(fromSymbol: Global, toSymbol: Global)(implicit index: util.SemanticdbIndex): Patch

    Permalink

    Replace references/call-sites to fromSymbol with references to toSymbol.

    Replace references/call-sites to fromSymbol with references to toSymbol.

    toSymbol must be a static method or a globally accessible object. toSymbol should not be path dependent. To rename a class method, use renameSymbol.

    Experimental. May produce broken code in some cases. This is the same patch as replace:com.foo/com.bar from sbt-scalafix.

  15. abstract def replaceSymbols(toReplace: Seq[(String, String)])(implicit noop: DummyImplicit, index: util.SemanticdbIndex): Patch

    Permalink

    Helper for calling replaceSymbols without needing _*

    Helper for calling replaceSymbols without needing _*

    Defers work to replaceSymbols((String, String)*). Needs a dummy implicit to differentiate from replaceSymbols((String, String)*) after type erasure

  16. abstract def replaceSymbols(toReplace: (String, String)*)(implicit index: util.SemanticdbIndex): Patch

    Permalink

    Shorthand for calling replaceSymbol from strings.

    Shorthand for calling replaceSymbol from strings.

    String values are treated as Symbol.Global.

  17. abstract def replaceToken(token: scala.meta.Token, toReplace: String): Patch

    Permalink

    Replace the entire contents of this Token with toReplace.

  18. abstract def replaceTree(tree: Tree, toReplace: String): Patch

    Permalink

    Replace all tokens of tree contents with toReplace.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from PatchOps to any2stringadd[PatchOps] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (PatchOps, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from PatchOps to ArrowAssoc[PatchOps] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def ensuring(cond: (PatchOps) ⇒ Boolean, msg: ⇒ Any): PatchOps

    Permalink
    Implicit information
    This member is added by an implicit conversion from PatchOps to Ensuring[PatchOps] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  9. def ensuring(cond: (PatchOps) ⇒ Boolean): PatchOps

    Permalink
    Implicit information
    This member is added by an implicit conversion from PatchOps to Ensuring[PatchOps] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: Boolean, msg: ⇒ Any): PatchOps

    Permalink
    Implicit information
    This member is added by an implicit conversion from PatchOps to Ensuring[PatchOps] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean): PatchOps

    Permalink
    Implicit information
    This member is added by an implicit conversion from PatchOps to Ensuring[PatchOps] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from PatchOps to StringFormat[PatchOps] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  18. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  23. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. def [B](y: B): (PatchOps, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from PatchOps to ArrowAssoc[PatchOps] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from PatchOps to any2stringadd[PatchOps]

Inherited by implicit conversion StringFormat from PatchOps to StringFormat[PatchOps]

Inherited by implicit conversion Ensuring from PatchOps to Ensuring[PatchOps]

Inherited by implicit conversion ArrowAssoc from PatchOps to ArrowAssoc[PatchOps]

Ungrouped