Class: Yoda::Evaluation::CodeCompletion::BaseProvider Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/yoda/evaluation/code_completion/base_provider.rb

Overview

This class is abstract.

Base class of completion candidates providers for code completion. This class bridges analysis features such as syntastic analysis #analyzer and symbolic execiton #evaluator.

Direct Known Subclasses

ConstProvider, MethodProvider, VariableProvider

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(registry, source_analyzer) ⇒ BaseProvider

Returns a new instance of BaseProvider.

Parameters:



16
17
18
19
# File 'lib/yoda/evaluation/code_completion/base_provider.rb', line 16

def initialize(registry, source_analyzer)
  @registry = registry
  @source_analyzer = source_analyzer
end

Instance Attribute Details

#registryStore::Registry (readonly)

Returns:



9
10
11
# File 'lib/yoda/evaluation/code_completion/base_provider.rb', line 9

def registry
  @registry
end

#source_analyzerParsing::SourceAnalyzer (readonly)



12
13
14
# File 'lib/yoda/evaluation/code_completion/base_provider.rb', line 12

def source_analyzer
  @source_analyzer
end

Instance Method Details

#candidatesArray<Model::CompletionItem>

This method is abstract.

Returns:



29
30
31
# File 'lib/yoda/evaluation/code_completion/base_provider.rb', line 29

def candidates
  fail NotImplementedError
end

#providable?true, false

This method is abstract.

Returns:

  • (true, false)


23
24
25
# File 'lib/yoda/evaluation/code_completion/base_provider.rb', line 23

def providable?
  fail NotImplementedError
end