Sha256: 2fd4f860901f549296d7f02cd0ef3fffbf284c0996cfd9bbe2a9e1d4a8dac2b4
Contents?: true
Size: 1.34 KB
Versions: 4
Compression:
Stored size: 1.34 KB
Contents
module Yoda module Services class CodeCompletion # @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}. class BaseProvider # @return [Model::Environment] attr_reader :environment # @return [AST::Vnode] attr_reader :ast # @return [Parsing::Location] attr_reader :location # @return [Evaluator] attr_reader :evaluator # @param environment [Model::Environment] # @param ast [AST::Vnode] # @param location [Parsing::Location] # @param evaluator [Evaluator] def initialize(environment, ast, location, evaluator) @environment = environment @ast = ast @location = location @evaluator = evaluator end # @abstract # @return [true, false] def providable? fail NotImplementedError end # @abstract # @return [Array<Model::CompletionItem>] def candidates fail NotImplementedError end private # @return [AST::Node, nil] def current_node @current_node ||= ast.positionally_nearest_child(location) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems