<commit_before>module SFRP
  module Flat
    class Function < Struct.new(:str, :ret_ta, :pstrs, :ptas, :exp, :ffi_str, :sp)
      require 'tapp'
      def to_poly(_src_set, dest_set)
        pstrs.reject(&:nil?).each do |s|
          raise DuplicatedVariableError.new(s) if pstrs.count(s) > 1
        end
        dest_set << P.func(str, ret_ta && ret_ta.to_poly) do |f|
          pstrs.zip(ptas) do |s, ta|
            f.param(s, ta && ta.to_poly)
          end
          if exp
            f.exp do
              table = Hash[pstrs.map { |s| [s, s] }]
              exp.alpha_convert(table, (0..1000).to_a).to_poly
            end
          end
          f.ffi_str(ffi_str) if ffi_str
        end
      end
    end

    class TConst < Struct.new(:str, :pstrs, :vc_strs, :native_str, :static, :sp)
      def type_annot
        TypeAnnotationType.new(str, pstrs.map { |s| TypeAnnotationVar.new(s) })
      end

      def to_poly(_src_set, dest_set)
        argc = pstrs.size
        dest_set << Poly::TConst.new(str, argc, vc_strs, static, native_str)
      end<commit_msg>remove a debris of debugging<commit_after>module SFRP
  module Flat
    class Function < Struct.new(:str, :ret_ta, :pstrs, :ptas, :exp, :ffi_str, :sp)
      def to_poly(_src_set, dest_set)
        pstrs.reject(&:nil?).each do |s|
          raise DuplicatedVariableError.new(s) if pstrs.count(s) > 1
        end
        dest_set << P.func(str, ret_ta && ret_ta.to_poly) do |f|
          pstrs.zip(ptas) do |s, ta|
            f.param(s, ta && ta.to_poly)
          end
          if exp
            f.exp do
              table = Hash[pstrs.map { |s| [s, s] }]
              exp.alpha_convert(table, (0..1000).to_a).to_poly
            end
          end
          f.ffi_str(ffi_str) if ffi_str
        end
      end
    end

    class TConst < Struct.new(:str, :pstrs, :vc_strs, :native_str, :static, :sp)
      def type_annot
        TypeAnnotationType.new(str, pstrs.map { |s| TypeAnnotationVar.new(s) })
      end

      def to_poly(_src_set, dest_set)
        argc = pstrs.size
        dest_set << Poly::TConst.new(str, argc, vc_strs, static, native_str)
      end
{'fraction_non_alphanumeric': 0.1234798877455566, 'fraction_numerical': 0.005612722170252572, 'mean_word_length': 1.9749652294853963, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6507267', 'n_tokens_mistral': 807, 'n_tokens_neox': 789, 'n_words': 175}