;; Generated by clj -M:ir from the policy file. Do not edit. {:hierarchical true, :title "Crapper", :prefix "crapper", :edge-kinds {}, :omit-edges [], :levels [[:model :discover :crapper] [:crap :coverage :metrics :report :languages] [:analyze :runners] [:cli] [:__main__]], :policy-file "examples/crapper.policy.edn", :order [:model :discover :crapper :crap :coverage :metrics :report :languages :analyze :runners :cli :__main__], :omit [], :edges [{:from :__main__, :to :cli, :kind :dependency} {:from :languages.python, :to :languages.treesitter, :kind :dependency} {:from :languages, :to :languages.typescript, :kind :dependency} {:from :languages.rust, :to :languages.treesitter, :kind :dependency} {:from :languages.java, :to :languages.treesitter, :kind :dependency} {:from :crap, :to :model, :kind :implements} {:from :languages.rust, :to :pathlib, :kind :dependency} {:from :analyze, :to :pathlib, :kind :dependency} {:from :languages.java, :to :re, :kind :dependency} {:from :runners, :to :shlex, :kind :dependency} {:from :coverage, :to :model, :kind :dependency} {:from :languages.typescript, :to :languages.treesitter, :kind :dependency} {:from :runners, :to :json, :kind :dependency} {:from :languages.golang, :to :languages.language, :kind :inheritance} {:from :cli, :to :subprocess, :kind :dependency} {:from :languages.treesitter, :to :tree_sitter_language_pack, :kind :dependency} {:from :languages.typescript, :to :model, :kind :dependency} {:from :languages.golang, :to :pathlib, :kind :dependency} {:from :coverage, :to :urllib, :kind :dependency} {:from :analyze, :to :languages, :kind :dependency} {:from :languages, :to :languages.clojure, :kind :dependency} {:from :languages.python, :to :languages.language, :kind :inheritance} {:from :report, :to :model, :kind :dependency} {:from :languages.golang, :to :languages.treesitter, :kind :dependency} {:from :languages, :to :languages.java, :kind :dependency} {:from :coverage, :to :xml, :kind :dependency} {:from :languages, :to :languages.python, :kind :dependency} {:from :cli, :to :sys, :kind :dependency} {:from :cli, :to :pathlib, :kind :dependency} {:from :analyze, :to :model, :kind :dependency} {:from :languages.clojure, :to :re, :kind :dependency} {:from :languages.treesitter, :to :functools, :kind :dependency} {:from :discover, :to :os, :kind :dependency} {:from :analyze, :to :discover, :kind :dependency} {:from :coverage, :to :pathlib, :kind :dependency} {:from :languages.language, :to :model, :kind :dependency} {:from :languages, :to :model, :kind :dependency} {:from :analyze, :to :crap, :kind :dependency} {:from :runners, :to :subprocess, :kind :dependency} {:from :cli, :to :coverage, :kind :dependency} {:from :languages, :to :languages.rust, :kind :dependency} {:from :languages.typescript, :to :languages.language, :kind :inheritance} {:from :cli, :to :report, :kind :dependency} {:from :metrics, :to :pathlib, :kind :dependency} {:from :runners, :to :shutil, :kind :dependency} {:from :model, :to :dataclasses, :kind :dependency} {:from :languages.rust, :to :languages.language, :kind :inheritance} {:from :languages.java, :to :model, :kind :dependency} {:from :languages.rust, :to :re, :kind :dependency} {:from :cli, :to :dataclasses, :kind :dependency} {:from :discover, :to :pathlib, :kind :dependency} {:from :coverage, :to :dataclasses, :kind :dependency} {:from :languages, :to :languages.language, :kind :dependency} {:from :cli, :to :runners, :kind :dependency} {:from :languages.clojure, :to :languages.language, :kind :inheritance} {:from :languages.rust, :to :model, :kind :dependency} {:from :runners, :to :sys, :kind :dependency} {:from :languages.clojure, :to :model, :kind :dependency} {:from :languages.golang, :to :model, :kind :dependency} {:from :languages.java, :to :languages.language, :kind :inheritance} {:from :languages.python, :to :model, :kind :dependency} {:from :analyze, :to :coverage, :kind :dependency} {:from :cli, :to :metrics, :kind :dependency} {:from :runners, :to :discover, :kind :dependency} {:from :languages, :to :languages.golang, :kind :dependency} {:from :cli, :to :analyze, :kind :dependency} {:from :coverage, :to :re, :kind :dependency} {:from :metrics, :to :model, :kind :dependency} {:from :cli, :to :discover, :kind :dependency} {:from :runners, :to :pathlib, :kind :dependency}], :classes [{:ns "crapper", :name "Crapper", :file "src/crapper/__init__.py", :level 0, :lang :python, :id :crapper} {:ns "crapper.__main__", :name "__main__", :file "src/crapper/__main__.py", :level 4, :lang :python, :id :__main__} {:ns "crapper.analyze", :name "Analyze", :file "src/crapper/analyze.py", :ops [{:name "analyze_files", :text "analyze_files"}], :level 2, :lang :python, :id :analyze} {:ns "crapper.cli", :name "Cli", :file "src/crapper/cli.py", :ops [{:name "Options", :text "Options"} {:name "parse_args", :text "parse_args"} {:name "select_files", :text "select_files"} {:name "run", :text "run"} {:name "main", :text "main"}], :level 3, :lang :python, :id :cli} {:ns "crapper.coverage", :name "Coverage", :file "src/crapper/coverage.py", :ops [{:name "normalize_path", :text "normalize_path"} {:name "suffix_match", :text "suffix_match"} {:name "coverage_percent", :text "coverage_percent"} {:name "percent_for_range", :text "percent_for_range"} {:name "parse_form_coverage", :text "parse_form_coverage"} {:name "parse_lcov", :text "parse_lcov"} {:name "parse_go_profile", :text "parse_go_profile"} {:name "go_percent", :text "go_percent"} {:name "JacocoMethod", :text "JacocoMethod"} {:name "parse_jacoco_index", :text "parse_jacoco_index"} {:name "CoverageBundle", :text "CoverageBundle"} {:name "load_bundle", :text "load_bundle"}], :level 1, :lang :python, :id :coverage} {:ns "crapper.crap", :name "Crap", :file "src/crapper/crap.py", :ops [{:name "crap_score", :text "crap_score"} {:name "round_metric", :text "round_metric"} {:name "make_entry", :text "make_entry"} {:name "sort_entries", :text "sort_entries"}], :level 1, :lang :python, :id :crap} {:ns "crapper.discover", :name "Discover", :file "src/crapper/discover.py", :ops [{:name "language_of", :text "language_of"} {:name "is_test_file", :text "is_test_file"} {:name "iter_source_files", :text "iter_source_files"}], :level 0, :lang :python, :id :discover} {:ns "crapper.languages", :name "Languages", :file "src/crapper/languages/__init__.py", :ops [{:name "functions_in_file", :text "functions_in_file"}], :level 1, :lang :python, :id :languages} {:ns "crapper.languages.clojure", :name "Clojure", :file "src/crapper/languages/clojure.py", :ops [{:name "without_strings_and_comments", :text "without_strings_and_comments"} {:name "cyclomatic_complexity", :text "cyclomatic_complexity"} {:name "extract_functions", :text "extract_functions"} {:name "declared_namespace", :text "declared_namespace"} {:name "namespace_from_path", :text "namespace_from_path"} {:name "functions_in_source", :text "functions_in_source"} {:name "Clojure", :text "Clojure"} {:name "ClojureFactory", :text "ClojureFactory"}], :level 1, :lang :python, :id :languages.clojure} {:ns "crapper.languages.golang", :name "Golang", :file "src/crapper/languages/golang.py", :ops [{:name "package_namespace", :text "package_namespace"} {:name "functions_in_source", :text "functions_in_source"} {:name "Go", :text "Go"} {:name "GoFactory", :text "GoFactory"}], :level 1, :lang :python, :id :languages.golang} {:ns "crapper.languages.java", :name "Java", :file "src/crapper/languages/java.py", :ops [{:name "functions_in_source", :text "functions_in_source"} {:name "Java", :text "Java"} {:name "JavaFactory", :text "JavaFactory"}], :level 1, :lang :python, :id :languages.java} {:ns "crapper.languages.language", :name "Language", :file "src/crapper/languages/language.py", :ops [{:name "Language", :text "Language"} {:name "Unknown", :text "Unknown"} {:name "LanguageFactory", :text "LanguageFactory"} {:name "UnknownFactory", :text "UnknownFactory"}], :level 1, :lang :python, :id :languages.language} {:ns "crapper.languages.python", :name "Python", :file "src/crapper/languages/python.py", :ops [{:name "functions_in_source", :text "functions_in_source"} {:name "Python", :text "Python"} {:name "PythonFactory", :text "PythonFactory"}], :level 1, :lang :python, :id :languages.python} {:ns "crapper.languages.rust", :name "Rust", :file "src/crapper/languages/rust.py", :ops [{:name "functions_in_source", :text "functions_in_source"} {:name "Rust", :text "Rust"} {:name "RustFactory", :text "RustFactory"}], :level 1, :lang :python, :id :languages.rust} {:ns "crapper.languages.treesitter", :name "Treesitter", :file "src/crapper/languages/treesitter.py", :ops [{:name "parser_for", :text "parser_for"} {:name "parse", :text "parse"} {:name "node_text", :text "node_text"} {:name "start_line", :text "start_line"} {:name "end_line", :text "end_line"} {:name "child_of_type", :text "child_of_type"} {:name "descendants", :text "descendants"} {:name "complexity", :text "complexity"} {:name "binary_logic", :text "binary_logic"}], :level 1, :lang :python, :id :languages.treesitter} {:ns "crapper.languages.typescript", :name "Typescript", :file "src/crapper/languages/typescript.py", :ops [{:name "functions_in_source", :text "functions_in_source"} {:name "TypeScript", :text "TypeScript"} {:name "TypeScriptFactory", :text "TypeScriptFactory"}], :level 1, :lang :python, :id :languages.typescript} {:ns "crapper.metrics", :name "Metrics", :file "src/crapper/metrics.py", :ops [{:name "metrics_path", :text "metrics_path"} {:name "render_edn", :text "render_edn"} {:name "write_metrics", :text "write_metrics"}], :level 1, :lang :python, :id :metrics} {:ns "crapper.model", :name "Model", :file "src/crapper/model.py", :ops [{:name "Function", :text "Function"} {:name "Entry", :text "Entry"}], :level 0, :lang :python, :id :model} {:ns "crapper.report", :name "Report", :file "src/crapper/report.py", :ops [{:name "format_report", :text "format_report"}], :level 1, :lang :python, :id :report} {:ns "crapper.runners", :name "Runners", :file "src/crapper/runners.py", :ops [{:name "run_shell", :text "run_shell"} {:name "typescript_packages", :text "typescript_packages"} {:name "typescript_command", :text "typescript_command"} {:name "rust_modules", :text "rust_modules"} {:name "python_roots", :text "python_roots"} {:name "uses_pytest", :text "uses_pytest"} {:name "python_sources", :text "python_sources"} {:name "python_coverage_commands", :text "python_coverage_commands"} {:name "rust_coverage_command", :text "rust_coverage_command"} {:name "run_coverage", :text "run_coverage"}], :level 2, :lang :python, :id :runners} {:id :dataclasses, :name "dataclasses", :foreign true} {:id :functools, :name "functools", :foreign true} {:id :json, :name "json", :foreign true} {:id :os, :name "os", :foreign true} {:id :pathlib, :name "pathlib", :foreign true} {:id :re, :name "re", :foreign true} {:id :shlex, :name "shlex", :foreign true} {:id :shutil, :name "shutil", :foreign true} {:id :subprocess, :name "subprocess", :foreign true} {:id :sys, :name "sys", :foreign true} {:id :tree_sitter_language_pack, :name "tree_sitter_language_pack", :foreign true} {:id :urllib, :name "urllib", :foreign true} {:id :xml, :name "xml", :foreign true}]}