mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	bpo-41746: Add type information to asdl_seq objects (GH-22223)
* Add new capability to the PEG parser to type variable assignments. For instance:
```
       | a[asdl_stmt_seq*]=';'.small_stmt+ [';'] NEWLINE { a }
```
* Add new sequence types from the asdl definition (automatically generated)
* Make `asdl_seq` type a generic aliasing pointer type.
* Create a new `asdl_generic_seq` for the generic case using `void*`.
* The old `asdl_seq_GET`/`ast_seq_SET` macros now are typed.
* New `asdl_seq_GET_UNTYPED`/`ast_seq_SET_UNTYPED` macros for dealing with generic sequences.
* Changes all possible `asdl_seq` types to use specific versions everywhere.
			
			
This commit is contained in:
		
							parent
							
								
									5c1b46d897
								
							
						
					
					
						commit
						a5634c4067
					
				
					 22 changed files with 1338 additions and 1086 deletions
				
			
		|  | @ -13,11 +13,10 @@ static int | |||
| future_check_features(PyFutureFeatures *ff, stmt_ty s, PyObject *filename) | ||||
| { | ||||
|     int i; | ||||
|     asdl_seq *names; | ||||
| 
 | ||||
|     assert(s->kind == ImportFrom_kind); | ||||
| 
 | ||||
|     names = s->v.ImportFrom.names; | ||||
|     asdl_alias_seq *names = s->v.ImportFrom.names; | ||||
|     for (i = 0; i < asdl_seq_LEN(names); i++) { | ||||
|         alias_ty name = (alias_ty)asdl_seq_GET(names, i); | ||||
|         const char *feature = PyUnicode_AsUTF8(name->name); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Pablo Galindo
						Pablo Galindo