Skip to content

Commit

Permalink
line_count fixes for 8d6bc7e
Browse files Browse the repository at this point in the history
  • Loading branch information
utaal committed Feb 19, 2025
1 parent ca4545b commit 3f1d137
Showing 1 changed file with 30 additions and 66 deletions.
96 changes: 30 additions & 66 deletions source/tools/line_count/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -536,10 +536,6 @@ impl<'ast, 'f> syn_verus::visit::Visit<'ast> for Visitor<'f> {
syn_verus::visit::visit_item_macro(self, i);
}

fn visit_item_macro2(&mut self, i: &'ast syn_verus::ItemMacro2) {
syn_verus::visit::visit_item_macro2(self, i);
}

fn visit_item_mod(&mut self, i: &'ast syn_verus::ItemMod) {
let exit = self.item_attr_enter(&i.attrs);
if i.content.is_none() {
Expand Down Expand Up @@ -621,10 +617,6 @@ impl<'ast, 'f> syn_verus::visit::Visit<'ast> for Visitor<'f> {
syn_verus::visit::visit_lifetime(self, i);
}

fn visit_lifetime_def(&mut self, i: &'ast syn_verus::LifetimeDef) {
syn_verus::visit::visit_lifetime_def(self, i);
}

fn visit_lit(&mut self, i: &'ast syn_verus::Lit) {
syn_verus::visit::visit_lit(self, i);
}
Expand Down Expand Up @@ -865,10 +857,6 @@ impl<'ast, 'f> syn_verus::visit::Visit<'ast> for Visitor<'f> {
syn_verus::visit::visit_meta_name_value(self, i);
}

fn visit_method_turbofish(&mut self, i: &'ast syn_verus::MethodTurbofish) {
syn_verus::visit::visit_method_turbofish(self, i);
}

fn visit_mode(&mut self, i: &'ast syn_verus::Mode) {
syn_verus::visit::visit_mode(self, i);
}
Expand Down Expand Up @@ -897,10 +885,6 @@ impl<'ast, 'f> syn_verus::visit::Visit<'ast> for Visitor<'f> {
syn_verus::visit::visit_mode_tracked(self, i);
}

fn visit_nested_meta(&mut self, i: &'ast syn_verus::NestedMeta) {
syn_verus::visit::visit_nested_meta(self, i);
}

fn visit_open(&mut self, i: &'ast syn_verus::Open) {
syn_verus::visit::visit_open(self, i);
}
Expand All @@ -920,42 +904,14 @@ impl<'ast, 'f> syn_verus::visit::Visit<'ast> for Visitor<'f> {
syn_verus::visit::visit_pat(self, i);
}

fn visit_pat_box(&mut self, i: &'ast syn_verus::PatBox) {
syn_verus::visit::visit_pat_box(self, i);
}

fn visit_pat_ident(&mut self, i: &'ast syn_verus::PatIdent) {
syn_verus::visit::visit_pat_ident(self, i);
}

fn visit_pat_lit(&mut self, i: &'ast syn_verus::PatLit) {
syn_verus::visit::visit_pat_lit(self, i);
}

fn visit_pat_macro(&mut self, i: &'ast syn_verus::PatMacro) {
syn_verus::visit::visit_pat_macro(self, i);
}

fn visit_pat_or(&mut self, i: &'ast syn_verus::PatOr) {
syn_verus::visit::visit_pat_or(self, i);
}

fn visit_pat_path(&mut self, i: &'ast syn_verus::PatPath) {
syn_verus::visit::visit_pat_path(self, i);
}

fn visit_pat_range(&mut self, i: &'ast syn_verus::PatRange) {
syn_verus::visit::visit_pat_range(self, i);
}

fn visit_pat_reference(&mut self, i: &'ast syn_verus::PatReference) {
syn_verus::visit::visit_pat_reference(self, i);
}

fn visit_pat_rest(&mut self, i: &'ast syn_verus::PatRest) {
syn_verus::visit::visit_pat_rest(self, i);
}

fn visit_pat_slice(&mut self, i: &'ast syn_verus::PatSlice) {
syn_verus::visit::visit_pat_slice(self, i);
}
Expand Down Expand Up @@ -992,10 +948,6 @@ impl<'ast, 'f> syn_verus::visit::Visit<'ast> for Visitor<'f> {
syn_verus::visit::visit_path_segment(self, i);
}

fn visit_predicate_eq(&mut self, i: &'ast syn_verus::PredicateEq) {
syn_verus::visit::visit_predicate_eq(self, i);
}

fn visit_predicate_lifetime(&mut self, i: &'ast syn_verus::PredicateLifetime) {
syn_verus::visit::visit_predicate_lifetime(self, i);
}
Expand Down Expand Up @@ -1081,8 +1033,13 @@ impl<'ast, 'f> syn_verus::visit::Visit<'ast> for Visitor<'f> {
}
return;
}
// let a = Ghost(...)
if let Some(right) = init {
match &*right.1 {
if right.diverge.is_some() {
// the else branch of let
warn("else branch in let currently not supported");
}
match &*right.expr {
syn_verus::Expr::Call(call_expr) => {
let syn_verus::ExprCall { attrs: _, func, paren_token: _, args: _ } =
&*call_expr;
Expand Down Expand Up @@ -1139,7 +1096,7 @@ impl<'ast, 'f> syn_verus::visit::Visit<'ast> for Visitor<'f> {
syn_verus::visit::visit_trait_item_macro(self, i);
}

fn visit_trait_item_method(&mut self, i: &'ast syn_verus::TraitItemFn) {
fn visit_trait_item_fn(&mut self, i: &'ast syn_verus::TraitItemFn) {
let exit = self.item_attr_enter(&i.attrs);
let content_code_kind = i.sig.mode.to_code_kind();
let code_kind = self.mode_or_trusted(content_code_kind);
Expand All @@ -1151,7 +1108,7 @@ impl<'ast, 'f> syn_verus::visit::Visit<'ast> for Visitor<'f> {
if let Some(default) = &i.default {
self.visit_block(default);
}
syn_verus::visit::visit_trait_item_method(self, i);
syn_verus::visit::visit_trait_item_fn(self, i);
self.in_body = None;
exit.exit(self);
}
Expand Down Expand Up @@ -1215,7 +1172,7 @@ impl ItemAttrExit {
impl<'f> Visitor<'f> {
fn item_attr_enter(&mut self, attrs: &Vec<Attribute>) -> ItemAttrExit {
for attr in attrs.iter() {
if let Ok(Meta::Path(path)) = attr.parse_meta() {
if let Meta::Path(path) = &attr.meta {
let mut path_iter = path.segments.iter();
match (path_iter.next(), path_iter.next(), path_iter.next()) {
(Some(first), Some(second), None)
Expand Down Expand Up @@ -1286,7 +1243,7 @@ impl<'f> Visitor<'f> {
}
}

if attr.path.segments.first().map(|x| x.ident == "doc").unwrap_or(false) {
if attr.path().segments.first().map(|x| x.ident == "doc").unwrap_or(false) {
} else {
self.mark(
&attr,
Expand Down Expand Up @@ -1494,8 +1451,8 @@ fn process_file(config: Rc<Config>, input_path: &std::path::Path) -> Result<File
config: config.clone(),
};
for attr in file.attrs.iter() {
match attr.parse_meta() {
Ok(Meta::Path(path)) => {
match &attr.meta {
Meta::Path(path) => {
let mut path_iter = path.segments.iter();
match (path_iter.next(), path_iter.next()) {
(Some(first), Some(second))
Expand All @@ -1506,22 +1463,25 @@ fn process_file(config: Rc<Config>, input_path: &std::path::Path) -> Result<File
_ => {}
}
}
Ok(Meta::List(MetaList { path, paren_token: _, nested })) => {
Meta::List(MetaList { path, delimiter: _, tokens }) => {
let mut path_iter = path.segments.iter();
match (path_iter.next(), path_iter.next()) {
(Some(first), None) if first.ident == "cfg_attr" => {
let nested = attr.parse_args_with(syn_verus::punctuated::Punctuated::<Meta, syn_verus::Token![,]>::parse_terminated)
.map_err(|e| {
dbg!(&e.span().start(), &e.span().end());
format!("failed to parse attribute: {} {:?}", e, e.span())
})?;
let mut nested_iter = nested.iter();
match (nested_iter.next(), nested_iter.next()) {
(
Some(syn_verus::NestedMeta::Meta(Meta::Path(first))),
Some(syn_verus::NestedMeta::Meta(Meta::Path(second))),
) if first
.segments
.iter()
.next()
.as_ref()
.map(|x| x.ident == "verus_keep_ghost")
.unwrap_or(false) =>
(Some(Meta::Path(first)), Some(Meta::Path(second)))
if first
.segments
.iter()
.next()
.as_ref()
.map(|x| x.ident == "verus_keep_ghost")
.unwrap_or(false) =>
{
let mut path_iter = second.segments.iter();
match (path_iter.next(), path_iter.next()) {
Expand Down Expand Up @@ -1675,6 +1635,10 @@ fn process_file(config: Rc<Config>, input_path: &std::path::Path) -> Result<File
Ok(file_stats)
}

fn warn(msg: &str) {
eprintln!("warning: {}", msg);
}

fn run(config: Config, deps_path: &std::path::Path) -> Result<(), String> {
let config = Rc::new(config);
let (root_path, files) = get_dependencies(deps_path)?;
Expand Down

0 comments on commit 3f1d137

Please sign in to comment.