Paul Sokolovsky
af90461931
py/binary: mp_binary_get_size: Raise error on unsupported typecodes.
...
Previouly, we had errors checked in callers, which led to duplicate code
or missing checks in some places.
2017-01-17 22:53:06 +03:00
Damien George
d7150b09d7
py/runtime: Refactor default case of switch to remove assert(0).
2017-01-17 17:03:56 +11:00
Damien George
5bea080737
py/objexcept: Replace if-cond and assert(0) with simple assert.
2017-01-17 17:03:16 +11:00
Damien George
f51f22dd42
py/emitnative: Remove assert(0)'s or replace with mp_not_implemented.
2017-01-17 17:02:21 +11:00
Damien George
86e942309a
py/parse: Refactor code to remove assert(0)'s.
...
This helps to improve code coverage. Note that most of the changes in
this patch are just de-denting the cases of the switch statements.
2017-01-17 17:00:55 +11:00
Damien George
239f920299
py/objgenerator: Don't raise RuntimeError if GeneratorExit ignored.
...
In this case it's allowed to be ignored.
2017-01-17 00:16:56 +11:00
Damien George
681994638b
py/objgenerator: When throwing an object, don't make an exc instance.
...
Arguments to throw() for generators don't need to be exceptions.
2017-01-17 00:14:14 +11:00
Damien George
aeb2655073
py/runtime: Fix handling of throw() when resuming generator.
...
If GeneratorExit is injected as a throw-value then that should lead to
the close() method being called, if it exists. If close() does not exist
then throw() should not be called, and this patch fixes this.
2017-01-17 00:10:49 +11:00
Damien George
40863fce6f
py/runtime: Refactor assert(0) to improve coverage.
2017-01-17 00:09:56 +11:00
Damien George
d23834bc96
py/builtinimport: Remove unreachable code and change obj-import comment.
2017-01-16 16:41:43 +11:00
Damien George
63e291de70
py/builtinimport: Raise ValueError for bad relative import, per CPython.
2017-01-16 16:21:04 +11:00
Damien George
b528e9a428
py/builtinimport: Fix bug when importing names from frozen packages.
...
The commit d9047d3c8a introduced a bug
whereby "from a.b import c" stopped working for frozen packages. This is
because the path was not properly truncated and became "a//b". Such a
path resolves correctly for a "real" filesystem, but not for a search in
the list of frozen modules.
2017-01-08 20:17:23 +11:00
Damien George
343b4189b0
py/mkrules.mk: Add MPY_CROSS_FLAGS option to pass flags to mpy-cross.
...
So that ports can pass their own custom options to mpy-cross.
2017-01-05 15:51:36 +11:00
Damien George
3f9c45efd1
py/asmarm: Fix assembler's PASS_EMIT constant name.
2017-01-03 15:40:50 +11:00
Damien George
afc5063539
py/unicode: Comment-out unused function unichar_isprint.
2016-12-28 17:50:10 +11:00
Damien George
ea6a958393
py/objint: Simplify mp_int_format_size and remove unreachable code.
...
One never needs to format integers with a base larger than 16 (but code
can be easily extended beyond this value if needed in the future).
2016-12-28 12:46:20 +11:00
Damien George
44bf8e1f2b
py/mpprint: Add assertion for, and comment about, valid base values.
2016-12-28 12:45:33 +11:00
Damien George
ca7af9a778
py/parsenum: Fix warning for signed/unsigned comparison.
2016-12-28 12:25:00 +11:00
Damien George
2d9440e2d1
py/mpz: Fix assertion in mpz_set_from_str which checks value of base.
2016-12-28 12:04:19 +11:00
Damien George
c2dd494bd9
py/parsenum: Simplify and generalise decoding of digit values.
...
This function should be able to parse integers with any value for the
base, because it is called by int('xxx', base).
2016-12-28 12:02:49 +11:00
Paul Sokolovsky
25f44c19f1
cc3200: Re-add support for UART REPL (MICROPY_STDIO_UART setting).
...
UART REPL support was lost in os.dupterm() refactorings, etc. As
os.dupterm() is there, implement UART REPL support at the high level -
if MICROPY_STDIO_UART is set, make default boot.py contain os.dupterm()
call for a UART. This means that changing MICROPY_STDIO_UART value will
also require erasing flash on a module to force boot.py re-creation.
2016-12-27 01:05:37 +03:00
Paul Sokolovsky
cf96be60dc
py/misc.h: Typo fix in comment.
2016-12-27 01:05:30 +03:00
Damien George
c305ae3243
py/lexer: Permanently disable the mp_lexer_show_token function.
...
The lexer is very mature and this debug function is no longer used. If
it's really needed one can uncomment it and recompile.
2016-12-22 10:49:54 +11:00
Damien George
f4aebafe7a
py/lexer: Remove unnecessary check for EOF in lexer's next_char func.
...
This check always fails (ie chr0 is never EOF) because the callers of this
function never call it past the end of the input stream. And even if they
did it would be harmless because 1) reader.readbyte must continue to
return an EOF char if the stream is exhausted; 2) next_char would just
count the subsequent EOF's as characters worth 1 column.
2016-12-22 10:39:06 +11:00
Damien George
b9c4783273
py/lexer: Remove unreachable code in string tokeniser.
2016-12-22 10:37:13 +11:00