Skip to content

fix: fill in more SourceLocation implementations#804

Merged
reubeno merged 2 commits into
mainfrom
sourceloc
Nov 30, 2025
Merged

fix: fill in more SourceLocation implementations#804
reubeno merged 2 commits into
mainfrom
sourceloc

Conversation

@reubeno
Copy link
Copy Markdown
Owner

@reubeno reubeno commented Nov 30, 2025

No description provided.

@github-actions
Copy link
Copy Markdown

Test Results

    3 files     23 suites   8m 32s ⏱️
1 287 tests 1 287 ✅ 0 💤 0 ❌
3 841 runs  3 841 ✅ 0 💤 0 ❌

Results for commit 61d8b54.

@github-actions
Copy link
Copy Markdown

Public API changes for crate: brush-parser

Added items

+impl brush_parser::ast::Node for brush_parser::ast::AndOr
+impl brush_parser::ast::Node for brush_parser::ast::AndOr
+impl brush_parser::ast::Node for brush_parser::ast::ArithmeticExpr
+impl brush_parser::ast::Node for brush_parser::ast::ArithmeticExpr
+impl brush_parser::ast::Node for brush_parser::ast::ArithmeticTarget
+impl brush_parser::ast::Node for brush_parser::ast::ArithmeticTarget
+impl brush_parser::ast::Node for brush_parser::ast::AssignmentValue
+impl brush_parser::ast::Node for brush_parser::ast::AssignmentValue
+impl brush_parser::ast::Node for brush_parser::ast::Command
+impl brush_parser::ast::Node for brush_parser::ast::Command
+impl brush_parser::ast::Node for brush_parser::ast::CommandPrefixOrSuffixItem
+impl brush_parser::ast::Node for brush_parser::ast::CommandPrefixOrSuffixItem
+impl brush_parser::ast::Node for brush_parser::ast::CompoundCommand
+impl brush_parser::ast::Node for brush_parser::ast::CompoundCommand
+impl brush_parser::ast::Node for brush_parser::ast::IoRedirect
+impl brush_parser::ast::Node for brush_parser::ast::IoRedirect
+impl brush_parser::ast::Node for brush_parser::ast::PipelineTimed
+impl brush_parser::ast::Node for brush_parser::ast::PipelineTimed
+impl core::fmt::Display for brush_parser::ast::PipelineTimed
+pub fn brush_parser::ast::PipelineTimed::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+impl brush_parser::ast::Node for brush_parser::ast::TestExpr
+impl brush_parser::ast::Node for brush_parser::ast::TestExpr
+impl brush_parser::ast::Node for brush_parser::ast::AndOrList
+impl brush_parser::ast::Node for brush_parser::ast::AndOrList
+impl brush_parser::ast::Node for brush_parser::ast::ArithmeticCommand
+impl brush_parser::ast::Node for brush_parser::ast::ArithmeticCommand
+impl brush_parser::ast::Node for brush_parser::ast::ArithmeticForClauseCommand
+impl brush_parser::ast::Node for brush_parser::ast::ArithmeticForClauseCommand
+impl brush_parser::ast::Node for brush_parser::ast::Assignment
+impl brush_parser::ast::Node for brush_parser::ast::Assignment
+impl brush_parser::ast::Node for brush_parser::ast::BraceGroupCommand
+impl brush_parser::ast::Node for brush_parser::ast::BraceGroupCommand
+pub brush_parser::ast::CaseClauseCommand::loc: brush_parser::SourceSpan
+impl brush_parser::ast::Node for brush_parser::ast::CaseClauseCommand
+impl brush_parser::ast::Node for brush_parser::ast::CaseClauseCommand
+impl brush_parser::ast::Node for brush_parser::ast::CaseItem
+impl brush_parser::ast::Node for brush_parser::ast::CaseItem
+impl brush_parser::ast::Node for brush_parser::ast::CommandPrefix
+impl brush_parser::ast::Node for brush_parser::ast::CommandPrefix
+impl brush_parser::ast::Node for brush_parser::ast::CommandSuffix
+impl brush_parser::ast::Node for brush_parser::ast::CommandSuffix
+impl brush_parser::ast::Node for brush_parser::ast::CompoundList
+impl brush_parser::ast::Node for brush_parser::ast::CompoundList
+impl brush_parser::ast::Node for brush_parser::ast::CompoundListItem
+impl brush_parser::ast::Node for brush_parser::ast::CompoundListItem
+impl brush_parser::ast::Node for brush_parser::ast::ExtendedTestExprCommand
+impl brush_parser::ast::Node for brush_parser::ast::ExtendedTestExprCommand
+impl brush_parser::ast::Node for brush_parser::ast::ForClauseCommand
+impl brush_parser::ast::Node for brush_parser::ast::ForClauseCommand
+impl brush_parser::ast::Node for brush_parser::ast::FunctionBody
+impl brush_parser::ast::Node for brush_parser::ast::FunctionBody
+impl brush_parser::ast::Node for brush_parser::ast::FunctionDefinition
+impl brush_parser::ast::Node for brush_parser::ast::FunctionDefinition
+impl brush_parser::ast::Node for brush_parser::ast::IfClauseCommand
+impl brush_parser::ast::Node for brush_parser::ast::IfClauseCommand
+impl brush_parser::ast::Node for brush_parser::ast::IoHereDocument
+impl brush_parser::ast::Node for brush_parser::ast::IoHereDocument
+impl core::fmt::Display for brush_parser::ast::IoHereDocument
+pub fn brush_parser::ast::IoHereDocument::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+impl brush_parser::ast::Node for brush_parser::ast::Pipeline
+impl brush_parser::ast::Node for brush_parser::ast::Pipeline
+impl brush_parser::ast::Node for brush_parser::ast::Program
+impl brush_parser::ast::Node for brush_parser::ast::Program
+impl brush_parser::ast::Node for brush_parser::ast::RedirectList
+impl brush_parser::ast::Node for brush_parser::ast::RedirectList
+impl brush_parser::ast::Node for brush_parser::ast::SimpleCommand
+impl brush_parser::ast::Node for brush_parser::ast::SimpleCommand
+impl brush_parser::ast::Node for brush_parser::ast::SubshellCommand
+impl brush_parser::ast::Node for brush_parser::ast::SubshellCommand
+impl brush_parser::ast::Node for brush_parser::ast::WhileOrUntilClauseCommand
+impl brush_parser::ast::Node for brush_parser::ast::WhileOrUntilClauseCommand
+impl brush_parser::ast::Node for brush_parser::ast::Word
+impl brush_parser::ast::Node for brush_parser::ast::Word
+pub trait brush_parser::ast::Node: core::fmt::Display + brush_parser::ast::SourceLocation

Performance Benchmark Report

Benchmark name Baseline (μs) Test/PR (μs) Delta (μs) Delta %
clone_shell_object 17.84 μs 17.49 μs -0.35 μs 🟢 -1.98%
eval_arithmetic 0.15 μs 0.15 μs 0.00 μs ⚪ Unchanged
expand_one_string 1.71 μs 1.68 μs -0.02 μs ⚪ Unchanged
for_loop 22.99 μs 22.73 μs -0.26 μs ⚪ Unchanged
function_call 2.45 μs 2.34 μs -0.11 μs ⚪ Unchanged
instantiate_shell 54.03 μs 53.98 μs -0.06 μs ⚪ Unchanged
instantiate_shell_with_init_scripts 26258.28 μs 24545.76 μs -1712.52 μs 🟢 -6.52%
parse_bash_completion 2025.89 μs 2049.73 μs 23.84 μs ⚪ Unchanged
parse_sample_script 2.03 μs 1.96 μs -0.07 μs 🟢 -3.40%
run_echo_builtin_command 16.00 μs 15.71 μs -0.29 μs ⚪ Unchanged
tokenize_sample_script 3.41 μs 3.48 μs 0.07 μs 🟠 +2.11%

Code Coverage Report: Only Changed Files listed

Package Base Coverage New Coverage Difference
brush-parser/src/ast.rs 🔴 31.66% 🔴 36.82% 🟢 5.16%
Overall Coverage 🟢 73.95% 🟢 74.06% 🟢 0.11%

Minimum allowed coverage is 70%, this run produced 74.06%

Test Summary: bash-completion test suite

Outcome Count Percentage
✅ Pass 1352 64.11
❗️ Error 218 10.34
❌ Fail 186 8.82
⏩ Skip 338 16.03
❎ Expected Fail 14 0.66
✔️ Unexpected Pass 1 0.05
📊 Total 2109 100.00

@reubeno reubeno merged commit 37f64d8 into main Nov 30, 2025
43 checks passed
@reubeno reubeno deleted the sourceloc branch November 30, 2025 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant