module LanguageServer module Protocol module Interface class CallHierarchyOutgoingCallsParams def initialize(work_done_token: nil, partial_result_token: nil, item:) @attributes = {} @attributes[:workDoneToken] = work_done_token if work_done_token @attributes[:partialResultToken] = partial_result_token if partial_result_token @attributes[:item] = item @attributes.freeze end # # An optional token that a server can use to report work done progress. # # @return [ProgressToken] def work_done_token attributes.fetch(:workDoneToken) end # # An optional token that a server can use to report partial results (e.g. # streaming) to the client. # # @return [ProgressToken] def partial_result_token attributes.fetch(:partialResultToken) end # @return [CallHierarchyItem] def item attributes.fetch(:item) end attr_reader :attributes def to_hash attributes end def to_json(*args) to_hash.to_json(*args) end end end end end