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

Method new_symbol

tensorflow/python/autograph/core/naming.py:103–129  ·  view source on GitHub ↗

See control_flow.SymbolNamer.new_symbol.

(self, name_root, reserved_locals)

Source from the content-addressed store, hash-verified

101 return new_name
102
103 def new_symbol(self, name_root, reserved_locals):
104 """See control_flow.SymbolNamer.new_symbol."""
105 # reserved_locals may contain QNs.
106 all_reserved_locals = set()
107 for s in reserved_locals:
108 if isinstance(s, qual_names.QN):
109 all_reserved_locals.update(s.qn)
110 elif isinstance(s, str):
111 all_reserved_locals.add(s)
112 else:
113 raise ValueError('Unexpected symbol type "%s"' % type(s))
114
115 pieces = name_root.split('_')
116 if pieces[-1].isdigit():
117 name_root = '_'.join(pieces[:-1])
118 n = int(pieces[-1])
119 else:
120 n = 0
121 new_name = name_root
122
123 while (new_name in self.global_namespace or
124 new_name in all_reserved_locals or new_name in self.generated_names):
125 n += 1
126 new_name = '%s_%d' % (name_root, n)
127
128 self.generated_names.add(new_name)
129 return new_name

Callers 15

_convert_with_cacheFunction · 0.95
convert_class_to_astFunction · 0.95
convert_func_to_astFunction · 0.95
visit_IfMethod · 0.80
visit_WhileMethod · 0.80
visit_ForMethod · 0.80
visit_WhileMethod · 0.80
visit_ForMethod · 0.80
_visit_loop_bodyMethod · 0.80

Calls 5

typeFunction · 0.85
updateMethod · 0.45
addMethod · 0.45
splitMethod · 0.45
joinMethod · 0.45