SourceCode

org.finos.morphir.meta.SourceCode$
object SourceCode

Printer for fully elaborated representation of the source code. Futher customized based on SourceCode in the Dotty repo. In many situations if symbol.owner cannot be found the compiler will fail with a NoDenotation.owner error. This typically happens when there is some kind of upstream problem which is the cause of the real issue e.g. a foo.bar call where the bar doesn't actually exist. That means that the NoDenotation.owner error is just noise. Therefore the show___ methods now return a try that catches a custom NoDenotationException which callers of this object can deal with.

Attributes

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

Members list

Type members

Classlikes

class NoOwnerException(msg: String) extends Exception

Attributes

Supertypes
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all

Value members

Concrete methods

def showConstant(using Quotes)(const: Constant)(showDetails: ShowDetails, syntaxHighlight: SyntaxHighlight, fullNames: Boolean): Try[String]
def showFlags(using Quotes)(flags: Flags)(syntaxHighlight: SyntaxHighlight): String
def showSymbol(using Quotes)(symbol: Symbol)(syntaxHighlight: SyntaxHighlight): String
def showTree(using Quotes)(tree: Tree)(showDetails: ShowDetails, syntaxHighlight: SyntaxHighlight, fullNames: Boolean): Try[String]
def showType(using Quotes)(tpe: TypeRepr)(showDetails: ShowDetails, syntaxHighlight: SyntaxHighlight, fullNames: Boolean): Try[String]