Class: Yoda::Services::CodeCompletion::BaseProvider Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/yoda/services/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 #source_analyzer and symbolic execiton #evaluator.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(environment, ast, location, evaluator) ⇒ BaseProvider

Returns a new instance of BaseProvider.

Parameters:



24
25
26
27
28
29
# File 'lib/yoda/services/code_completion/base_provider.rb', line 24

def initialize(environment, ast, location, evaluator)
  @environment = environment
  @ast = ast
  @location = location
  @evaluator = evaluator
end

Instance Attribute Details

#astAST::Vnode (readonly)

Returns:



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

def ast
  @ast
end

#environmentModel::Environment (readonly)

Returns:



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

def environment
  @environment
end

#evaluatorEvaluator (readonly)

Returns:



18
19
20
# File 'lib/yoda/services/code_completion/base_provider.rb', line 18

def evaluator
  @evaluator
end

#locationParsing::Location (readonly)

Returns:



15
16
17
# File 'lib/yoda/services/code_completion/base_provider.rb', line 15

def location
  @location
end

Instance Method Details

#candidatesArray<Model::CompletionItem>

This method is abstract.

Returns:



39
40
41
# File 'lib/yoda/services/code_completion/base_provider.rb', line 39

def candidates
  fail NotImplementedError
end

#providable?true, false

This method is abstract.

Returns:

  • (true, false)


33
34
35
# File 'lib/yoda/services/code_completion/base_provider.rb', line 33

def providable?
  fail NotImplementedError
end