def formatted_mixin_params(mixin_node)
      params = mixin_node.params
      result = []

      if mixin_node.type == :mixin_call
        blocks = mixin_node.blocks

        other_children = (mixin_node.children - mixin_node.blocks - mixin_node.params)
        if other_children.count { |n| n.type != :newline } > 0
          def_block_node = AST::NodeRegistrator.create(:mixin_block, mixin_node.lineno)
          def_block_node.name = DEFAULT_BLOCK_NAME
          def_block_node.children = other_children

          blocks << def_block_node
        end

        if !blocks.empty?
          buff_code '__blocks = {}'

          blocks.each do |block|
            block_definition(block)
          end

          result << '__blocks.dup'
        else
          result << '{}'
        end
      elsif mixin_node.type == :mixin_decl
        result << '__blocks'
      end


      # normal params
      result += params.select { |n| n.type == :mixin_param }.map(&:value)
      result += params.select { |n| n.type == :mixin_key_param }.map { |param| "#{param.name}: #{param.value}" }

      result.join(', ')
    end
def formatted_mixin_params(mixin_node)
      params = mixin_node.params
      result = []

      if mixin_node.type == :mixin_call
        blocks = mixin_node.blocks

        other_children = (mixin_node.children - mixin_node.blocks - mixin_node.params)
        if other_children.count { |n| n.type != :newline } > 0
          def_block_node = AST::NodeRegistrator.create(:mixin_block, mixin_node.lineno)
          def_block_node.name = DEFAULT_BLOCK_NAME
          def_block_node.children = other_children

          blocks << def_block_node
        end

        if !blocks.empty?
          buff_code '__blocks = {}'

          blocks.each do |block|
            block_definition(block)
          end

          result << '__blocks.dup'
        else
          result << '{}'
        end
      elsif mixin_node.type == :mixin_decl
        result << '__blocks'
      end


      # normal params
      result += params.select { |n| n.type == :mixin_param }.map(&:value)
      result += params.select { |n| n.type == :mixin_key_param }.map { |param| "#{param.name}: #{param.value}" }

      result.join(', ')
    end
@param [MixinCommonNode] mixin_node

 @return [String] formatted params