(members: &[ClassLikeMember<'_>], ctx: &mut DiagnosticCtx<'_>)
| 129 | } |
| 130 | |
| 131 | fn collect_from_class_members(members: &[ClassLikeMember<'_>], ctx: &mut DiagnosticCtx<'_>) { |
| 132 | for member in members.iter() { |
| 133 | if let ClassLikeMember::Method(method) = member |
| 134 | && let MethodBody::Concrete(block) = &method.body |
| 135 | { |
| 136 | let body_start = block.left_brace.start.offset; |
| 137 | let body_end = block.right_brace.end.offset; |
| 138 | |
| 139 | // Collect promoted parameter names so we can exclude them. |
| 140 | let promoted_params = collect_promoted_params(&method.parameter_list); |
| 141 | |
| 142 | let compact_vars = collect_compact_vars(block.statements.as_slice()); |
| 143 | let scope = collect_function_scope_with_kind( |
| 144 | &method.parameter_list, |
| 145 | block.statements.as_slice(), |
| 146 | body_start, |
| 147 | body_end, |
| 148 | FrameKind::Method, |
| 149 | ); |
| 150 | |
| 151 | check_scope(&scope, ctx, Some(&promoted_params), &compact_vars); |
| 152 | } |
| 153 | } |
| 154 | } |
| 155 | |
| 156 | /// Collect names of promoted constructor parameters (those with a |
| 157 | /// visibility modifier like `public`, `protected`, `private`). |
no test coverage detected