class PlainPrinter
extends Printer

Constructors

PlainPrinter ( _ctx: Context )

Members

private val _ctx : Context
private var maxSummarized : Int
private var openRecs : List [ RecType ]
protected def ParamRefNameString ( name: Name ) : String
protected def ParamRefNameString ( param: ParamRef ) : String
def annotsText ( sym: Symbol ) : Text
protected def argText ( arg: Type ) : Text
protected final def controlled ( op: => Text ) : Text
protected implicit def ctx : Context
def dclText ( sym: Symbol ) : Text

Textual representation of symbol's declaration

Textual representation of symbol's declaration

def dclText ( d: SingleDenotation ) : Text

Textual representation of single denotation's declaration

Textual representation of single denotation's declaration

private def dclTextWithInfo ( sym: Symbol , info: Option [ Type ] ) : Text
def dclsText ( syms: List [ Symbol ] , sep: String ) : Text

Textual representation of all symbols in given list, using dclText for displaying each.

Textual representation of all symbols in given list, using dclText for displaying each.

@switch private def escapedChar ( ch: Char ) : String
protected def escapedString ( str: String ) : String
def extendedLocationText ( sym: Symbol ) : Text

A description of sym's location

A description of sym's location

protected def fullNameOwner ( sym: Symbol ) : Symbol
def fullNameString ( sym: Symbol ) : String

The fully qualified name of the symbol

The fully qualified name of the symbol

[+] protected def hasMeaninglessName ( sym: Symbol ) : Boolean

If the name of the symbol's owner should be used when you care about seeing an interesting name: in such cases this symbol is e.g. a method parameter wi...

If the name of the symbol's owner should be used when you care about seeing an interesting name: in such cases this symbol is e.g. a method parameter with a synthetic name, a constructor named "this", an object "package", etc. The kind string, if non-empty, will be phrased relative to the name of the owner.

def homogenize ( tp: Type ) : Type
protected def homogenizedView : Boolean

If true, tweak output so it is the same before and after pickling

If true, tweak output so it is the same before and after pickling

protected def idString ( sym: Symbol ) : String

If -uniqid is set, the unique id of symbol, after a #

If -uniqid is set, the unique id of symbol, after a #

protected def isEmptyPrefix ( sym: Symbol ) : Boolean
protected def isOmittablePrefix ( sym: Symbol ) : Boolean
protected def keyString ( sym: Symbol ) : String

String representation of symbol's definition key word

String representation of symbol's definition key word

def kindString ( sym: Symbol ) : String

String representation of symbol's kind.

String representation of symbol's kind.

protected def lambdaHash ( pt: LambdaType ) : Text

If -uniqid is set, the hashcode of the lambda type, after a #

If -uniqid is set, the hashcode of the lambda type, after a #

def locatedText ( sym: Symbol ) : Text

Textual representation of symbol and its location

Textual representation of symbol and its location

def locationText ( sym: Symbol ) : Text

If symbol's owner is a printable class C, the text "in C", otherwise ""

If symbol's owner is a printable class C, the text "in C", otherwise ""

private def maxSummarized_= ( x$1: Int ) : Unit
protected def maxToTextRecursions : Int
def nameString ( name: Name ) : String

The name, possibley with with namespace suffix if debugNames is set: /L for local names, /V for other term names, /T for type names

The name, possibley with with namespace suffix if debugNames is set: /L for local names, /V for other term names, /T for type names

[+] def nameString ( sym: Symbol ) : String

The name of the given symbol. If !settings.debug, the original name where expansions of operators are translated back to operator symbol. E.g. $eq => =. I...

The name of the given symbol. If !settings.debug, the original name where expansions of operators are translated back to operator symbol. E.g. $eq => =. If settings.uniqid, adds id.

protected def objectPrefix : String
private def openRecs_= ( x$1: List [ RecType ] ) : Unit
protected def packagePrefix : String
def plain : Printer

A plain printer without any embellishments

A plain printer without any embellishments

protected def recursionLimitExceeded ( ) : Unit
private def refinementChain ( tp: Type ) : List [ Type ]

The longest sequence of refinement types, starting at given type and following parents, but stopping at applied types.

The longest sequence of refinement types, starting at given type and following parents, but stopping at applied types.

protected def refinementNameString ( tp: RefinedType ) : String

String representation of a name used in a refinement In refined printing this undoes type parameter expansion

String representation of a name used in a refinement In refined printing this undoes type parameter expansion

protected def selectionString ( tp: NamedType ) : String
private def selfRecName ( n: Int ) : String
protected def simpleNameString ( sym: Symbol ) : String

The name of the symbol without a unique id. Under refined printing, the decoded original name.

The name of the symbol without a unique id. Under refined printing, the decoded original name.

def summarized ( depth: Int ) ( op: => T ) : T

Perform string or text-producing operation op so that only a summarized text with given recursion depth is shown

Perform string or text-producing operation op so that only a summarized text with given recursion depth is shown

def summarized ( op: => T ) : T
protected def toText ( elems: Traversable [ Showable ] , sep: String ) : Text

Render elements alternating with sep string

Render elements alternating with sep string

def toText ( name: Name ) : Text

The name as a text

The name as a text

def toText ( tp: Type ) : Text

Textual representation of type

Textual representation of type

[+] def toText ( sym: Symbol ) : Text

Textual representation, including symbol's kind e.g., "class Foo", "method Bar". If hasMeaninglessName is true, uses the owner's name to disambiguate i...

Textual representation, including symbol's kind e.g., "class Foo", "method Bar". If hasMeaninglessName is true, uses the owner's name to disambiguate identity.

def toText ( denot: Denotation ) : Text

Textual representation of denotation

Textual representation of denotation

def toText ( const: Constant ) : Text

Textual representation of constant

Textual representation of constant

def toText ( annot: Annotation ) : Text

Textual representation of annotation

Textual representation of annotation

def toText ( sc: Scope ) : Text

Textual representation of all definitions in a scope using dclText for each

Textual representation of all definitions in a scope using dclText for each

def toText ( tree: Tree [ T ] ) : Text

Textual representation of tree

Textual representation of tree

def toText ( result: SearchResult ) : Text

Textual representation of implicit search result

Textual representation of implicit search result

def toText ( importInfo: ImportInfo ) : Text

Textual representation of info relating to an import clause

Textual representation of info relating to an import clause

protected def toTextFlags ( sym: Symbol ) : Text

String representation of symbol's flags

String representation of symbol's flags

protected def toTextGlobal ( elem: Showable ) : Text

Render element within lowest precedence

Render element within lowest precedence

protected def toTextGlobal ( elems: Traversable [ Showable ] , sep: String ) : Text
protected def toTextLocal ( elem: Showable ) : Text

Render element within highest precedence

Render element within highest precedence

protected def toTextLocal ( elems: Traversable [ Showable ] , sep: String ) : Text
protected def toTextParents ( parents: List [ Type ] ) : Text
protected def toTextPrefix ( tp: Type ) : Text

The string representation of this type used as a prefix

The string representation of this type used as a prefix

protected def toTextRHS ( optType: Option [ Type ] ) : Text

String representation of a definition's type following its name, if symbol is completed, "?" otherwise.

String representation of a definition's type following its name, if symbol is completed, "?" otherwise.

protected def toTextRHS ( tp: Type ) : Text

String representation of a definition's type following its name

String representation of a definition's type following its name

protected def toTextRef ( tp: SingletonType ) : Text

The string representation of this type used as a prefix

The string representation of this type used as a prefix

protected def toTextRefinement ( rt: RefinedType ) : Closed

String representation of a refinement

String representation of a refinement

protected def treatAsTypeArg ( sym: Symbol ) : Boolean
protected def treatAsTypeParam ( sym: Symbol ) : Boolean
protected def trimPrefix ( text: Text ) : Text
protected def varianceString ( sym: Symbol ) : String

String representation of symbol's variance or "" if not applicable

String representation of symbol's variance or "" if not applicable

protected def varianceString ( v: Int ) : String