Avatar for the paradigmxyz user
paradigmxyz
solar
BlogDocsChangelog

feat: Implement HIR pretty printer

#275
Comparing
swarna1101:feat/hir-pretty-printer
(
d755dcd
) with
main
(
3062e90
)
CodSpeed Performance Gauge
0%
Improvements
0
Regressions
0
Untouched
25
New
0
Dropped
0
Ignored
2

Benchmarks

Passed

Counter/lex
benches/benches/criterion.rs::benches::parser_benches::parser::Counter/lex
CodSpeed Performance Gauge
+1%
10.6 µs
10.6 µs
Solady/parse
benches/benches/criterion.rs::benches::parser_benches::parser::Solady/parse
CodSpeed Performance Gauge
0%
46.4 ms
46.3 ms
session/new
benches/benches/criterion.rs::benches::micro_benches::micro::session/new
CodSpeed Performance Gauge
0%
134.3 µs
134.2 µs
verifier/parse
benches/benches/criterion.rs::benches::parser_benches::parser::verifier/parse
CodSpeed Performance Gauge
0%
627.7 µs
627.4 µs
session/enter
benches/benches/criterion.rs::benches::micro_benches::micro::session/enter
CodSpeed Performance Gauge
0%
64.1 µs
64.1 µs
Optimism/lex
benches/benches/criterion.rs::benches::parser_benches::parser::Optimism/lex
CodSpeed Performance Gauge
0%
78.5 ms
78.5 ms
source_map/new_source_file
benches/benches/criterion.rs::benches::micro_benches::micro::source_map/new_source_file
CodSpeed Performance Gauge
0%
9.4 ms
9.4 ms
Seaport/lex
benches/benches/criterion.rs::benches::parser_benches::parser::Seaport/lex
CodSpeed Performance Gauge
0%
6.5 ms
6.5 ms
Solarray/lex
benches/benches/criterion.rs::benches::parser_benches::parser::Solarray/lex
CodSpeed Performance Gauge
0%
1.2 ms
1.2 ms
Seaport/parse
benches/benches/criterion.rs::benches::parser_benches::parser::Seaport/parse
CodSpeed Performance Gauge
0%
13.6 ms
13.6 ms
verifier/lex
benches/benches/criterion.rs::benches::parser_benches::parser::verifier/lex
CodSpeed Performance Gauge
0%
213.5 µs
213.5 µs
Solarray/parse
benches/benches/criterion.rs::benches::parser_benches::parser::Solarray/parse
CodSpeed Performance Gauge
0%
3.8 ms
3.8 ms
console/lex
benches/benches/criterion.rs::benches::parser_benches::parser::console/lex
CodSpeed Performance Gauge
0%
1.6 ms
1.6 ms
safeconsole/parse
benches/benches/criterion.rs::benches::parser_benches::parser::safeconsole/parse
CodSpeed Performance Gauge
0%
24.9 ms
24.9 ms
safeconsole/lex
benches/benches/criterion.rs::benches::parser_benches::parser::safeconsole/lex
CodSpeed Performance Gauge
0%
9.1 ms
9.1 ms
Vm/parse
benches/benches/criterion.rs::benches::parser_benches::parser::Vm/parse
CodSpeed Performance Gauge
0%
2.4 ms
2.4 ms
UniswapV3/parse
benches/benches/criterion.rs::benches::parser_benches::parser::UniswapV3/parse
CodSpeed Performance Gauge
0%
4 ms
4 ms
Solady/lex
benches/benches/criterion.rs::benches::parser_benches::parser::Solady/lex
CodSpeed Performance Gauge
0%
20.1 ms
20.1 ms
UniswapV3/lex
benches/benches/criterion.rs::benches::parser_benches::parser::UniswapV3/lex
CodSpeed Performance Gauge
0%
1.7 ms
1.7 ms
Vm/lex
benches/benches/criterion.rs::benches::parser_benches::parser::Vm/lex
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
Optimism/parse
benches/benches/criterion.rs::benches::parser_benches::parser::Optimism/parse
CodSpeed Performance Gauge
0%
197.5 ms
197.9 ms
OptimizorClub/parse
benches/benches/criterion.rs::benches::parser_benches::parser::OptimizorClub/parse
CodSpeed Performance Gauge
0%
1.6 ms
1.6 ms
OptimizorClub/lex
benches/benches/criterion.rs::benches::parser_benches::parser::OptimizorClub/lex
CodSpeed Performance Gauge
0%
645.1 µs
646.2 µs
console/parse
benches/benches/criterion.rs::benches::parser_benches::parser::console/parse
CodSpeed Performance Gauge
0%
4.5 ms
4.5 ms
Counter/parse
benches/benches/criterion.rs::benches::parser_benches::parser::Counter/parse
CodSpeed Performance Gauge
-1%
44.7 µs
45.3 µs

Ignored

empty/lexIgnored
benches/benches/criterion.rs::benches::parser_benches::parser::empty/lex
CodSpeed Performance Gauge
-2%
1.4 µs
1.5 µs
empty/parseIgnored
benches/benches/criterion.rs::benches::parser_benches::parser::empty/parse
CodSpeed Performance Gauge
-1%
7.8 µs
7.8 µs

Commits

Click on a commit to change the comparison range
Base
main
3062e90
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
4 months ago
by swarna1101
0%
feat: remove placeholder TODOs
f8e5d0a
2 months ago
by swarna1101
0%
fix: formatting issues
aafeff6
1 month ago
by swarna1101
0%
Merge branch 'main' into feat/hir-pretty-printer
d755dcd
28 days ago
by swarna1101
© 2025 CodSpeed Technology
Home Terms Privacy Docs