You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(scanner): tier-3 type inheritance for Java, C#, Kotlin, Scala, Swift, Ruby
Promotes six languages from catalog plugins (line-based tier 1) to
first-class built-ins (full AST tier 3) by adding their tree-sitter
grammars and wiring functions, imports, calls, and type heritage
extraction.
- Cargo.toml: tree-sitter-java, -c-sharp, -kotlin-ng (compatible with
tree-sitter 0.26), -scala, -swift, -ruby
- facts.rs: extend Language enum + extension matching for .java, .cs,
.kt/.kts, .scala/.sc, .swift, .rb
- scanner.rs: per-language match arms in extract_functions,
extract_imports, extract_calls, extract_tree_sitter_types; recognize
each grammar's class-like nodes (interface_declaration,
enum_declaration, record_declaration, object_declaration,
trait_definition, protocol_declaration, class, module) and pull
heritage from the right field/node names per grammar
- collect_type_identifiers handles Ruby `constant`, scoped names, and
Swift's `inheritance_specifier` direct children
- Generic JVM-style import fallback for Java/Kotlin/Scala/Swift, a
using-form for C#, and a require/load-form for Ruby
- 7 new heritage tests cover all 6 languages plus C++
Tier-3 coverage: Python, TypeScript, C++, Java, C#, Kotlin, Scala,
Swift, Ruby (9). Rust and C stay at tier 2 by design - Rust uses
traits, C has no class system.
<h2>68 languages, three tiers of analysis depth.</h2>
320
320
<pclass="section-lead">
321
-
Tree-sitter built-ins get the full pipeline: function bodies parsed, cyclomatic and cognitive complexity, type inheritance (Python and TypeScript), and call graphs. The catalog plugins extract functions and imports via configurable prefix patterns, no AST. Every other metric on this page (edit-risk, score drift, bug-density, evolution, blast radius) works at every tier.
321
+
Tree-sitter built-ins get the full pipeline: function bodies parsed, cyclomatic and cognitive complexity, type inheritance (9 languages: Python, TypeScript, C++, Java, C#, Kotlin, Scala, Swift, Ruby), and call graphs. The catalog plugins extract functions and imports via configurable prefix patterns, no AST. Every other metric on this page (edit-risk, score drift, bug-density, evolution, blast radius) works at every tier.
322
322
</p>
323
323
324
324
<divclass="lang-legend">
@@ -330,8 +330,8 @@ <h2>68 languages, three tiers of analysis depth.</h2>
0 commit comments