• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

type-ruby / t-ruby / 21242754680
93%

Build:
DEFAULT BRANCH: main
Ran 22 Jan 2026 09:16AM UTC
Jobs 1
Files 90
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

22 Jan 2026 09:15AM UTC coverage: 92.628% (+0.2%) from 92.432%
21242754680

push

github

web-flow
Parser architecture improvement with TypeSlot (#48)

* Add TypeSlot infrastructure for type position tracking

Introduce TypeSlot class that represents positions where type
annotations are expected. This enables explicit tracking of
explicit, inferred, and resolved types for each position.

- Add IR::TypeSlot class with kind, location, and context
- Add type_slot attribute to IR::Parameter
- Add return_type_slot attribute to IR::MethodDef
- Maintain backward compatibility with existing code

Refs #47

* Integrate TypeSlot generation in TokenDeclarationParser

- Add TypeSlot creation during parameter parsing in parse_parameter
- Add return_type_slot creation in parse_method_def
- Pass method_name context to parameter parsers for TypeSlot context
- Support all parameter types (regular, rest, keyrest, block, keyword)
- Add comprehensive tests for TypeSlot integration
- Maintain backward compatibility with existing type_annotation/return_type

Refs #47

* Add TypeSlotError for context-aware error messages

- Add TRuby::Errors::TypeSlotError class for type-related errors
- Support location info (line, column) from TypeSlot
- Include context description (parameter/return/variable info)
- Support suggestion field for helpful error hints
- Provide to_lsp_diagnostic for LSP integration
- Add comprehensive tests

Refs #47

* Add SlotResolver for TypeSlot resolution

- Add TRuby::TypeResolution::SlotResolver class
- Collect unresolved TypeSlots from IR program
- Support resolve_to_untyped for gradual typing fallback
- Provide slot_summary for type coverage statistics
- Handle method parameters and return types
- Traverse ClassDef and ModuleDef for nested methods

Refs #47

* Add facade pattern for parser with token parser option

- Add use_token_parser option to Parser.new for opt-in new parser
- Support TRUBY_NEW_PARSER=1 environment variable
- Implement parse_with_token_parser using TokenDeclarationParser
- Add backward-compatible legacy format conversion
- Ma... (continued)

173 of 189 new or added lines in 7 files covered. (91.53%)

8444 of 9116 relevant lines covered (92.63%)

1767.1 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
93.1
lib/t_ruby/type_resolution/slot_resolver.rb
7
85.42
lib/t_ruby/errors/type_slot_error.rb
7
96.75
-1.71% lib/t_ruby/parser.rb
Jobs
ID Job ID Ran Files Coverage
1 21242754680.1 22 Jan 2026 09:16AM UTC 90
92.63
GitHub Action Run
Source Files on build 21242754680
  • Tree
  • List 90
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #21242754680
  • 50596212 on github
  • Prev Build on main (#21222924424)
  • Next Build on main (#21242918531)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc