Trace

dotty.tools.dotc.transform.init.Trace
object Trace

Logic related to evaluation trace for showing friendly error messages

A trace is a sequence of program positions which tells the evaluation order that leads to an error. It is usually more informative than the stack trace by tracking the exact sub-expression in the trace instead of only methods.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Trace.type

Members list

Type members

Types

opaque type Trace

Value members

Concrete methods

def buildStacktrace(trace: Trace, preamble: String)(using Context): String
inline def extendTrace[T](node: Tree)(using t: Trace)(op: Trace ?=> T): T
def fileExists(source: SourceFile): Boolean

Returns whether the source file exists

Returns whether the source file exists

The method SourceFile#exists always return true thus cannot be used.

Attributes

def position(using trace: Trace): Tree
def show(using trace: Trace, ctx: Context): String
def trace(using t: Trace): Trace
inline def withTrace[T](t: Trace)(op: Trace ?=> T): T

Extensions

Extensions

extension (trace: Trace)
def ++(trace2: Trace): Trace
def add(node: Tree): Trace