trait PatchOps extends AnyRef
- Alphabetic
- By Inheritance
- PatchOps
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
addGlobalImport(symbol: Symbol)(implicit index: util.SemanticdbIndex): Patch
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.
-
abstract
def
addGlobalImport(importer: Importer): Patch
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.
-
abstract
def
addLeft(tree: Tree, toAdd: String): Patch
Add the string toAdd to the first token of tree.
Add the string toAdd to the first token of tree. Does not remove tokens.
-
abstract
def
addLeft(token: scala.meta.Token, toAdd: String): Patch
Add the string toAdd to the left side of token, while keeping token.
-
abstract
def
addRight(tree: Tree, toAdd: String): Patch
Add the string toAdd to the last token of tree.
Add the string toAdd to the last token of tree. Does not remove tokens.
-
abstract
def
addRight(token: scala.meta.Token, toAdd: String): Patch
Add the string toAdd to the right side of token, while keeping token.
-
abstract
def
lint(msg: lint.Diagnostic): Patch
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.
-
abstract
def
removeGlobalImport(symbol: Symbol)(implicit index: util.SemanticdbIndex): Patch
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.
-
abstract
def
removeImportee(importee: Importee): Patch
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}
producesimport a.c
.Note,
importee
instance is by reference, so removing quasiquotes (example,removeImportee(importee"b")
) does nothing. -
abstract
def
removeToken(token: scala.meta.Token): Patch
Replace single token with empty string.
- abstract def removeTokens(tokens: Iterable[scala.meta.Token]): Patch
-
abstract
def
removeTokens(tokens: scala.meta.Tokens): Patch
Replace all tokens with empty string.
-
abstract
def
renameSymbol(fromSymbol: Global, toName: String)(implicit index: util.SemanticdbIndex): Patch
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. -
abstract
def
replaceSymbol(fromSymbol: Global, toSymbol: Global)(implicit index: util.SemanticdbIndex): Patch
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. -
abstract
def
replaceSymbols(toReplace: Seq[(String, String)])(implicit noop: DummyImplicit, index: util.SemanticdbIndex): Patch
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
-
abstract
def
replaceSymbols(toReplace: (String, String)*)(implicit index: util.SemanticdbIndex): Patch
Shorthand for calling replaceSymbol from strings.
Shorthand for calling replaceSymbol from strings.
String values are treated as Symbol.Global.
-
abstract
def
replaceToken(token: scala.meta.Token, toReplace: String): Patch
Replace the entire contents of this Token with toReplace.
-
abstract
def
replaceTree(tree: Tree, toReplace: String): Patch
Replace all tokens of tree contents with toReplace.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (PatchOps, B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- def ensuring(cond: (PatchOps) ⇒ Boolean, msg: ⇒ Any): PatchOps
- def ensuring(cond: (PatchOps) ⇒ Boolean): PatchOps
- def ensuring(cond: Boolean, msg: ⇒ Any): PatchOps
- def ensuring(cond: Boolean): PatchOps
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- 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( ... ) @native()
- def →[B](y: B): (PatchOps, B)
Deprecated Value Members
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from PatchOps to StringFormat[PatchOps] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.