Avatar for the paradigmxyz user
paradigmxyz
solar
BlogDocsChangelog

feat: Implement HIR pretty printer

#275
Comparing
swarna1101:feat/hir-pretty-printer
(
aafeff6
) with
main
(
d234978
)
CodSpeed Performance Gauge
0%
Improvements
0
Regressions
0
Untouched
24
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

empty/parse
benches/benches/criterion.rs::benches::parser_benches::parser::empty/parse
CodSpeed Performance Gauge
0%
15.3 µs
15.3 µs
Optimism/parse
benches/benches/criterion.rs::benches::parser_benches::parser::Optimism/parse
CodSpeed Performance Gauge
0%
206 ms
206 ms
console/parse
benches/benches/criterion.rs::benches::parser_benches::parser::console/parse
CodSpeed Performance Gauge
0%
4.5 ms
4.5 ms
Solady/parse
benches/benches/criterion.rs::benches::parser_benches::parser::Solady/parse
CodSpeed Performance Gauge
0%
48.4 ms
48.4 ms
Seaport/parse
benches/benches/criterion.rs::benches::parser_benches::parser::Seaport/parse
CodSpeed Performance Gauge
0%
15 ms
15 ms
safeconsole/parse
benches/benches/criterion.rs::benches::parser_benches::parser::safeconsole/parse
CodSpeed Performance Gauge
0%
25.6 ms
25.6 ms
empty/lex
benches/benches/criterion.rs::benches::parser_benches::parser::empty/lex
CodSpeed Performance Gauge
0%
7.5 µs
7.5 µs
Vm/parse
benches/benches/criterion.rs::benches::parser_benches::parser::Vm/parse
CodSpeed Performance Gauge
0%
2.5 ms
2.5 ms
Seaport/lex
benches/benches/criterion.rs::benches::parser_benches::parser::Seaport/lex
CodSpeed Performance Gauge
0%
6.6 ms
6.6 ms
Optimism/lex
benches/benches/criterion.rs::benches::parser_benches::parser::Optimism/lex
CodSpeed Performance Gauge
0%
78.4 ms
78.4 ms
console/lex
benches/benches/criterion.rs::benches::parser_benches::parser::console/lex
CodSpeed Performance Gauge
0%
1.6 ms
1.6 ms
Solady/lex
benches/benches/criterion.rs::benches::parser_benches::parser::Solady/lex
CodSpeed Performance Gauge
0%
20.2 ms
20.2 ms
OptimizorClub/parse
benches/benches/criterion.rs::benches::parser_benches::parser::OptimizorClub/parse
CodSpeed Performance Gauge
0%
1.7 ms
1.7 ms
Solarray/parse
benches/benches/criterion.rs::benches::parser_benches::parser::Solarray/parse
CodSpeed Performance Gauge
0%
3.7 ms
3.7 ms
Solarray/lex
benches/benches/criterion.rs::benches::parser_benches::parser::Solarray/lex
CodSpeed Performance Gauge
0%
1.2 ms
1.2 ms
UniswapV3/parse
benches/benches/criterion.rs::benches::parser_benches::parser::UniswapV3/parse
CodSpeed Performance Gauge
0%
4.2 ms
4.2 ms
UniswapV3/lex
benches/benches/criterion.rs::benches::parser_benches::parser::UniswapV3/lex
CodSpeed Performance Gauge
0%
1.7 ms
1.7 ms
safeconsole/lex
benches/benches/criterion.rs::benches::parser_benches::parser::safeconsole/lex
CodSpeed Performance Gauge
0%
9.2 ms
9.2 ms
Vm/lex
benches/benches/criterion.rs::benches::parser_benches::parser::Vm/lex
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
OptimizorClub/lex
benches/benches/criterion.rs::benches::parser_benches::parser::OptimizorClub/lex
CodSpeed Performance Gauge
0%
653.3 µs
653.3 µs
verifier/parse
benches/benches/criterion.rs::benches::parser_benches::parser::verifier/parse
CodSpeed Performance Gauge
0%
652.3 µs
652.4 µs
verifier/lex
benches/benches/criterion.rs::benches::parser_benches::parser::verifier/lex
CodSpeed Performance Gauge
0%
219.2 µs
219.2 µs
Counter/parse
benches/benches/criterion.rs::benches::parser_benches::parser::Counter/parse
CodSpeed Performance Gauge
0%
51.8 µs
51.9 µs
Counter/lex
benches/benches/criterion.rs::benches::parser_benches::parser::Counter/lex
CodSpeed Performance Gauge
0%
16.7 µs
16.7 µs

Commits

Click on a commit to change the comparison range
Base
main
d234978
0%
feat: Implement HIR pretty printer Implementation Details: - Added HirPrettyPrinter struct for formatting HIR nodes - Implemented Display traits for Expr and Type - Added pretty printing methods for contracts, functions, variables, and statements - Fixed error handling in test file to properly convert between error types - Added proper error handling for SourceFile creation Testing: - Added test_pretty_print test to verify pretty printer functionality - Fixed warnings in pretty.rs by prefixing unused variables with underscore - Added #[allow(dead_code)] to unused methods - Added #[allow(unused_crate_dependencies)] to test file Future Work: - Implement parsing and lowering functionality in test - Complete TODO items in pretty printer for parameter and return type printing - Add more comprehensive tests for different HIR node types - Improve error handling and diagnostics
d0fa377
3 months ago
by swarna1101
0%
feat: remove placeholder TODOs
f8e5d0a
8 days ago
by swarna1101
0%
fix: formatting issues
aafeff6
4 days ago
by swarna1101
© 2025 CodSpeed Technology
Home Terms Privacy Docs