DeepCompleter

dotty.ammonite.compiler.AmmCompletion.DeepCompleter
class DeepCompleter(mode: Mode, prefix: String, pos: SourcePosition) extends Completer

Attributes

Graph
Supertypes
class Completer
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def deepCompletions(using Context): Map[Name, Seq[SingleDenotation]]

Inherited methods

def directMemberCompletions(qual: Tree)(using Context): CompletionMap

Completions for members of qual's type. These include inherited definitions but not members added by extensions or implicit conversions

Completions for members of qual's type. These include inherited definitions but not members added by extensions or implicit conversions

Attributes

Inherited from:
Completer
def scopeCompletions(using context: Context): CompletionMap

Completions for terms and types that are currently in scope: the members of the current class, local definitions and the symbols that have been imported, recursively adding completions from outer scopes. In case a name is ambiguous, no completions are returned for it. This mimics the logic for deciding what is ambiguous used by the compiler. In general in case of a name clash symbols introduced in more deeply nested scopes have higher priority and shadow previous definitions with the same name although:

Completions for terms and types that are currently in scope: the members of the current class, local definitions and the symbols that have been imported, recursively adding completions from outer scopes. In case a name is ambiguous, no completions are returned for it. This mimics the logic for deciding what is ambiguous used by the compiler. In general in case of a name clash symbols introduced in more deeply nested scopes have higher priority and shadow previous definitions with the same name although:

  • imports with the same level of nesting cause an ambiguity
  • members and local definitions with the same level of nesting are allowed for overloading
  • an import is ignored if there is a local definition or a member introduced in the same scope (even if the import follows it syntactically)
  • a more deeply nested import shadowing a member or a local definition causes an ambiguity

Attributes

Inherited from:
Completer
def selectionCompletions(qual: Tree)(using Context): CompletionMap

Completions for selections from a term. Direct members take priority over members from extensions and so do members from extensions over members from implicit conversions

Completions for selections from a term. Direct members take priority over members from extensions and so do members from extensions over members from implicit conversions

Attributes

Inherited from:
Completer
def widenQualifier(qual: Tree)(using Context): Tree

Widen only those types which are applied or are exactly nothing

Widen only those types which are applied or are exactly nothing

Attributes

Inherited from:
Completer

Extensions

Inherited extensions

extension (denotations: Seq[SingleDenotation])
def groupByName(using Context): CompletionMap

Attributes

Inherited from:
Completer
extension [N <: Name](namedDenotations: Seq[(N, SingleDenotation)])
def groupByName: CompletionMap

Attributes

Inherited from:
Completer