INADA Naoki
c2e1607a51
bpo-34100: Merge constants recursively (GH-8341)
...
There are some same consts in a module. This commit merges them into
single instance. It reduces number of objects in memory after loading modules.
https://bugs.python.org/issue34100
2018-11-26 04:23:22 -08:00
Victor Stinner
5f2df88b63
bpo-35177: Add dependencies between header files (GH-10361)
...
* ast.h now includes Python-ast.h and node.h
* parsetok.h now includes node.h and grammar.h
* symtable.h now includes Python-ast.h
* Modify asdl_c.py to enhance Python-ast.h:
* Add #ifndef/#define Py_PYTHON_AST_H to be able to include the header
twice
* Add "extern { ... }" for C++
* Undefine "Yield" macro conflicting with winbase.h
* Remove "#undef Yield" from C files, it's now done in Python-ast.h
* Remove now useless includes in C files
2018-11-12 00:56:19 +01:00
Serhiy Storchaka
95b6acf951
bpo-34876: Change the lineno of the AST for decorated function and class. (GH-9731)
...
It was overridden by the lineno of the first decorator. Now it is
the lineno of 'def' or 'class'.
2018-10-30 13:16:02 +02:00
Serhiy Storchaka
d31e7730cd
bpo-35029: Replace the SyntaxWarning exception with a SyntaxError. (GH-9999)
...
If SyntaxWarning was raised as an exception, it will be replaced
with a SyntaxError for better error reporting.
2018-10-21 10:09:39 +03:00
Zackery Spytz
53ebf4b070
Fix an incorrect check in compiler_try_except(). (GH-9810)
2018-10-12 08:54:03 +03:00
Serhiy Storchaka
3f22811fef
bpo-32892: Use ast.Constant instead of specific constant AST types. (GH-9445)
2018-09-27 17:42:37 +03:00
Ammar Askar
025eb98dc0
bpo-34683: Make SyntaxError column offsets consistently 1-indexed (gh-9338)
...
Also point to start of tokens in parsing errors.
Fixes bpo-34683
2018-09-24 14:12:49 -07:00
Serhiy Storchaka
7bdf28265a
bpo-32455: Add jump parameter to dis.stack_effect(). (GH-6610)
...
Add C API function PyCompile_OpcodeStackEffectWithJump().
2018-09-18 09:54:26 +03:00
Serhiy Storchaka
da8d72c953
bpo-12458: Fix line numbers for multiline expressions. (GH-8774)
2018-09-17 15:17:29 +03:00
Benjamin Peterson
e502451781
closes bpo-34646: Remove PyAPI_* macros from declarations. (GH-9218)
2018-09-12 12:06:42 -07:00
Serhiy Storchaka
143ce5c6db
bpo-33691: Add _PyAST_GetDocString(). (GH-7236)
2018-05-30 10:56:16 +03:00
Serhiy Storchaka
73cbe7a01a
bpo-32911: Revert bpo-29463. (GH-7121) (GH-7197)
...
Remove the docstring attribute of AST types and restore docstring
expression as a first stmt in their body.
Co-authored-by: INADA Naoki <methane@users.noreply.github.com >
2018-05-29 12:04:55 +03:00
Serhiy Storchaka
64fddc423f
bpo-33475: Fix and improve converting annotations to strings. (GH-6774)
2018-05-16 23:17:48 -04:00
Zsolt Dollenstein
e239650660
bpo-33363: raise SyntaxError for async for/with outside async functions ( #6616 )
2018-04-27 11:58:56 -04:00
Serhiy Storchaka
57faf34887
bpo-33334: Support NOP and EXTENDED_ARG in dis.stack_effect(). ( #6566 )
...
Added tests to ensure that all defined opcodes are supported.
2018-04-25 22:04:06 +03:00
Serhiy Storchaka
d70c2a6894
bpo-33298: Wrap only constants with _PyCode_ConstantKey() in the compiler. (GH-6512)
2018-04-20 16:01:25 +03:00
Serhiy Storchaka
b7e1eff843
bpo-33299: Return an object itself for some types in _PyCode_ConstantKey(). (GH-6513)
2018-04-19 08:28:04 +03:00
Zackery Spytz
f303639e3a
bpo-33270: Intern names for all anonymous code objects ( #6472 )
2018-04-16 01:12:29 +03:00
Serhiy Storchaka
aa8e51f5eb
bpo-33132: Fix more reference counting issues in the compiler. (GH-6323)
2018-04-01 00:29:37 +03:00
Serhiy Storchaka
a95d98607e
bpo-33132: Fix reference counting issues in the compiler. (GH-6209)
2018-03-24 22:42:35 +02:00
Serhiy Storchaka
702f8f3611
bpo-33041: Rework compiling an "async for" loop. ( #6142 )
...
* Added new opcode END_ASYNC_FOR.
* Setting global StopAsyncIteration no longer breaks "async for" loops.
* Jumping into an "async for" loop is now disabled.
* Jumping out of an "async for" loop no longer corrupts the stack.
* Simplify the compiler.
2018-03-23 14:34:35 +02:00
Serhiy Storchaka
fe2bbb1869
bpo-32489: Allow 'continue' in 'finally' clause. (GH-5822)
2018-03-18 09:56:52 +02:00
Serhiy Storchaka
67ee07795b
bpo-33041: Add missed error checks when compile "async for" ( #6053 )
...
and remove redundant code.
2018-03-10 18:49:26 +02:00
Serhiy Storchaka
24d3201eb7
bpo-33041: Fixed bytecode generation for "async for" with a complex target. ( #6052 )
...
A StopAsyncIteration raised on assigning or unpacking will be now propagated
instead of stopping the iteration.
2018-03-10 18:22:34 +02:00
Serhiy Storchaka
520b7ae27e
bpo-17611. Move unwinding of stack for "pseudo exceptions" from interpreter to compiler. (GH-5006)
...
Co-authored-by: Mark Shannon <mark@hotpy.org >
Co-authored-by: Antoine Pitrou <antoine@python.org >
2018-02-22 23:33:30 +02:00