MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / SymbolRenamer

Class SymbolRenamer

tensorflow/python/autograph/pyct/ast_util.py:79–106  ·  view source on GitHub ↗

Transformer that can rename symbols to a simple names.

Source from the content-addressed store, hash-verified

77
78
79class SymbolRenamer(gast.NodeTransformer):
80 """Transformer that can rename symbols to a simple names."""
81
82 def __init__(self, name_map):
83 self.name_map = name_map
84
85 def _process(self, node):
86 qn = anno.getanno(node, anno.Basic.QN)
87 if qn in self.name_map:
88 new_node = gast.Name(
89 str(self.name_map[qn]),
90 ctx=node.ctx,
91 annotation=None,
92 type_comment=None)
93 # All annotations get carried over.
94 for k in anno.keys(node):
95 anno.copyanno(node, new_node, k)
96 return new_node
97 return self.generic_visit(node)
98
99 def visit_Name(self, node):
100 return self._process(node)
101
102 def visit_Attribute(self, node):
103 if anno.hasanno(node, anno.Basic.QN):
104 return self._process(node)
105 # Attributes of dynamic objects will not have a QN.
106 return self.generic_visit(node)
107
108
109def rename_symbols(node, name_map):

Callers 1

rename_symbolsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected