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

9 statements  

« prev     ^ index     » next       coverage.py v7.3.1, created at 2023-09-25 06:43 +0000

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