Do not assume Attribute nodes always have a QN - it may be missing for attributes...
authorA. Unique TensorFlower <gardener@tensorflow.org>
Tue, 27 Mar 2018 03:01:35 +0000 (20:01 -0700)
committerTensorFlower Gardener <gardener@tensorflow.org>
Tue, 27 Mar 2018 03:03:58 +0000 (20:03 -0700)
PiperOrigin-RevId: 190564784

tensorflow/contrib/autograph/pyct/ast_util.py

index 5a41b5e..4f76a69 100644 (file)
@@ -84,7 +84,10 @@ class SymbolRenamer(gast.NodeTransformer):
     return self._process(node)
 
   def visit_Attribute(self, node):
-    return self._process(node)
+    if anno.hasanno(node, anno.Basic.QN):
+      return self._process(node)
+    # Attributes of dynamic objects will not have a QN.
+    return self.generic_visit(node)
 
 
 def rename_symbols(node, name_map):