Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/libcst/metadata/accessor_provider.py: 50%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

10 statements  

1# Copyright (c) Meta Platforms, Inc. and affiliates. 

2# 

3# This source code is licensed under the MIT license found in the 

4# LICENSE file in the root directory of this source tree. 

5 

6 

7import dataclasses 

8 

9import libcst as cst 

10 

11from libcst.metadata.base_provider import VisitorMetadataProvider 

12 

13 

14class AccessorProvider(VisitorMetadataProvider[str]): 

15 def on_visit(self, node: cst.CSTNode) -> bool: 

16 for f in dataclasses.fields(node): 

17 child = getattr(node, f.name) 

18 self.set_metadata(child, f.name) 

19 return True