TypedFormatChecker

dotty.tools.dotc.transform.localopt.TypedFormatChecker
class TypedFormatChecker(partsElems: List[Tree], parts: List[String], args: List[Tree])(using x$4: Context)

Formatter string checker.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Type members

Classlikes

final class Conversion(val descriptor: Match, val argi: Int, val kind: Kind)

A conversion specifier matched in the argi'th string part, with argc arguments to interpolate.

A conversion specifier matched in the argi'th string part, with argc arguments to interpolate.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Conversion

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Conversion.type
enum Kind

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
enum SpecGroup

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Value members

Concrete methods

def argConformsTo(argi: Int, arg: Type, target: Type): Boolean
def argConvertsTo(argi: Int, arg: Type, target: Type): Boolean
def argType(argi: Int, types: Type*): Type

For N part strings and N-1 args to interpolate, normalize parts and check arg types.

For N part strings and N-1 args to interpolate, normalize parts and check arg types.

Returns normalized part strings and args, where args correcpond to conversions in tail of parts.

Attributes

Concrete fields

val argc: Int

Extensions

Extensions

extension (descriptor: Match)
def at(g: SpecGroup): Int
def end(g: SpecGroup): Int
def offset(g: SpecGroup, i: Int): Int
extension (r: report.type)
def argError(message: String, index: Int): Unit
def partError(message: String, index: Int, offset: Int, end: Int): Unit
def partWarning(message: String, index: Int, offset: Int, end: Int): Unit
extension (inline value: Boolean)
inline def and(inline body: => Unit): Boolean
inline def but(inline body: => Unit): Boolean
inline def or(inline body: => Unit): Boolean
inline def orElse(inline body: => Unit): Boolean