Sha256: 0a0a9b08b9ee82e92b91f99d62858a30b136528a85807d51f31fa16c45e82da7
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
module Yoda module Typing module Tree # @abstract class Base # @return [::AST::Node] attr_reader :node # @return [BaseContext] attr_reader :context # @param node [::AST::Node] # @param context [BaseContext] # @param parent [Base, nil] def initialize(node:, context:, parent: nil) @node = node @context = context @parent = parent end # @abstract # @return [Array<Base>] def children fail NotImplementedError end # @abstract # @return [Types::Base] def type fail NotImplementedError end # @return [Types::Generator] def generator @generator ||= Types::Generator.new(context.registry) end # @param node [::AST::Node] # @return [Base] def build_child(node, context: nil) Tree.build(node, context: context, parent: self) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
yoda-language-server-0.9.0 | lib/yoda/typing/tree/base.rb |
yoda-language-server-0.8.0 | lib/yoda/typing/tree/base.rb |