class PlainPrinter
extends Printer

Constructors

PlainPrinter ( _ctx: Context )

Members

[+] private val _ctx : Context
[+] private var maxSummarized : Int
[+] private var openRecs : List [ RecType ]
[+] 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.

[+] 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 polyHash ( pt: PolyType ) : Text

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

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

[+] protected def polyParamNameString ( name: TypeName ) : String
[+] protected def polyParamNameString ( param: PolyParam ) : String
[+] protected def recursionLimitExceeded ( ) : Unit
[+] private def refinementChain ( tp: Type ) : List [ Type ]

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

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

[+] 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

[+] 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