use NameConstant node when it exists (fixes #735)
--HG-- branch : issue735
This commit is contained in:
		
							parent
							
								
									a2bb2ff164
								
							
						
					
					
						commit
						f3ad2e4ad2
					
				|  | @ -1,6 +1,8 @@ | |||
| 2.8.0.dev (compared to 2.7.X) | ||||
| ----------------------------- | ||||
| 
 | ||||
| - fix issue735: assertion failures on debug versions of Python 3.4+ | ||||
| 
 | ||||
| - change test module importing behaviour to append to sys.path | ||||
|   instead of prepending.  This better allows to run test modules | ||||
|   against installated versions of a package even if the package | ||||
|  |  | |||
|  | @ -442,6 +442,13 @@ binop_map = { | |||
|     ast.NotIn: "not in" | ||||
| } | ||||
| 
 | ||||
| # Python 3.4+ compatibility | ||||
| if hasattr(ast, "NameConstant"): | ||||
|     _NameConstant = ast.NameConstant | ||||
| else: | ||||
|     def _NameConstant(c): | ||||
|         return ast.Name(str(c), ast.Load()) | ||||
| 
 | ||||
| 
 | ||||
| def set_location(node, lineno, col_offset): | ||||
|     """Set node location information recursively.""" | ||||
|  | @ -680,7 +687,7 @@ class AssertionRewriter(ast.NodeVisitor): | |||
|         if self.variables: | ||||
|             variables = [ast.Name(name, ast.Store()) | ||||
|                          for name in self.variables] | ||||
|             clear = ast.Assign(variables, ast.Name("None", ast.Load())) | ||||
|             clear = ast.Assign(variables, _NameConstant(None)) | ||||
|             self.statements.append(clear) | ||||
|         # Fix line numbers. | ||||
|         for stmt in self.statements: | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue