circuitpython/py
Paul Sokolovsky c1d9bbc345 Implement __bool__ and __len__ via unary_op virtual method for all types.
__bool__() and __len__() are just the same as __neg__() or __invert__(),
and require efficient dispatching implementation (not requiring search/lookup).
type->unary_op() is just the right choice for this short of adding
standalone virtual method(s) to already big mp_obj_type_t structure.
2014-01-30 04:37:19 +02:00
..
asmthumb.c Revert MP_BOOL, etc. and use <stdbool.h> instead 2014-01-06 13:51:53 -08:00
asmthumb.h Revert MP_BOOL, etc. and use <stdbool.h> instead 2014-01-06 13:51:53 -08:00
asmx64.c Added Windows port (see #233) 2014-01-28 18:21:05 +01:00
asmx64.h Revert MP_BOOL, etc. and use <stdbool.h> instead 2014-01-06 13:51:53 -08:00
bc.h py: Add module/function/class name to exceptions. 2014-01-19 11:48:48 +00:00
bc0.h Merge branch 'master' of github.com:dpgeorge/micropython 2014-01-11 09:37:41 +00:00
builtin.c Second stage of qstr revamp: uPy str object can be qstr or not. 2014-01-22 14:35:10 +00:00
builtin.h Add dummy bytes() constructor. 2014-01-20 20:37:01 +02:00
builtineval.c Implement mp_parse_node_free; print properly repr(string). 2014-01-25 13:51:19 +00:00
builtinimport.c Implement mp_parse_node_free; print properly repr(string). 2014-01-25 13:51:19 +00:00
builtinmp.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
compile.c py: Fix bug with LOAD_METHOD; fix int->machine_int_t for small int. 2014-01-29 18:58:52 +00:00
compile.h Add source file name and line number to error messages. 2014-01-18 23:24:36 +00:00
emit.h py: Fix bug with LOAD_METHOD; fix int->machine_int_t for small int. 2014-01-29 18:58:52 +00:00
emitbc.c py: Add compile option to enable/disable source line numbers. 2014-01-29 21:51:51 +00:00
emitcommon.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
emitcpy.c py: Fix bug with LOAD_METHOD; fix int->machine_int_t for small int. 2014-01-29 18:58:52 +00:00
emitinlinethumb.c py: Improve freeing of emitters in mp_compile. 2014-01-24 22:42:28 +00:00
emitnative.c py: Fix bug with LOAD_METHOD; fix int->machine_int_t for small int. 2014-01-29 18:58:52 +00:00
emitpass1.c py: Improve freeing of emitters in mp_compile. 2014-01-24 22:42:28 +00:00
gc.c Revert "Move gc_collect to py/gc.c" 2014-01-24 22:54:09 +00:00
gc.h Fix func decls with no arguments: () -> (void). 2013-10-23 20:20:17 +01:00
grammar.h Implement eval. 2014-01-15 22:14:03 +00:00
lexer.c Implement mp_parse_node_free; print properly repr(string). 2014-01-25 13:51:19 +00:00
lexer.h Implement mp_parse_node_free; print properly repr(string). 2014-01-25 13:51:19 +00:00
lexerstr.c Implement mp_parse_node_free; print properly repr(string). 2014-01-25 13:51:19 +00:00
lexerunix.c Implement mp_parse_node_free; print properly repr(string). 2014-01-25 13:51:19 +00:00
lexerunix.h Move lexerstr to main py directory (everyone uses it). 2014-01-08 15:28:26 +00:00
makeqstrdata.py Retain file order of qstr definitions. 2014-01-24 22:22:00 +00:00
malloc.c realloc(): Log original memory ptr too. 2014-01-30 03:58:17 +02:00
map.c Add mp_map_deinit() & mp_map_free() to finalize maps. 2014-01-25 02:04:01 +02:00
map.h Add mp_map_deinit() & mp_map_free() to finalize maps. 2014-01-25 02:04:01 +02:00
misc.h Implement octal and hex escapes in strings. 2014-01-22 22:48:25 +02:00
mkenv.mk Rework makefiles. Add proper dependency checking. 2014-01-24 08:46:48 -08:00
mkrules.mk Fixed dependency problem for qstrdefs.generated.h 2014-01-25 08:55:31 -08:00
mpconfig.h py: Add compile option to enable/disable source line numbers. 2014-01-29 21:51:51 +00:00
nlr.h Fix func decls with no arguments: () -> (void). 2013-10-23 20:20:17 +01:00
nlrthumb.S Make "unix" target be crossplatform and support x86, x64, ARM hosts. 2013-12-30 03:38:32 +02:00
nlrx64.S OSX: fixes to make nlrx64.S with Apple's clang (switched to Apple-specific define instead of __llvm__) 2014-01-04 20:27:13 +01:00
nlrx86.S Fixed problems with nlx86.S on Linux 2014-01-28 19:52:04 +01:00
obj.c Implement __bool__ and __len__ via unary_op virtual method for all types. 2014-01-30 04:37:19 +02:00
obj.h py: Simplify fastn in VM; reduce size of unique code struct. 2014-01-29 20:30:52 +00:00
objarray.c Implement __bool__ and __len__ via unary_op virtual method for all types. 2014-01-30 04:37:19 +02:00
objarray.h Add objarray.h . 2014-01-19 01:40:47 +02:00
objbool.c Implement __bool__ and __len__ via unary_op virtual method for all types. 2014-01-30 04:37:19 +02:00
objboundmeth.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
objcell.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
objclosure.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
objcomplex.c Implement __bool__ and __len__ via unary_op virtual method for all types. 2014-01-30 04:37:19 +02:00
objdict.c Implement __bool__ and __len__ via unary_op virtual method for all types. 2014-01-30 04:37:19 +02:00
objenumerate.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
objexcept.c py: Msg in exception is no longer interned. 2014-01-29 18:57:20 +00:00
objfilter.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
objfloat.c Implement __bool__ and __len__ via unary_op virtual method for all types. 2014-01-30 04:37:19 +02:00
objfun.c Functions of fixed number of args are special-cased only for 3 or less args. 2014-01-26 02:03:07 +02:00
objgenerator.c py: Simplify fastn in VM; reduce size of unique code struct. 2014-01-29 20:30:52 +00:00
objgetitemiter.c py: Implement iterator support for object that has __getitem__. 2014-01-25 00:17:36 +00:00
objint.c long int: Implement more operations. 2014-01-27 12:25:23 +02:00
objint.h long int: Implement more operations. 2014-01-27 12:25:23 +02:00
objint_longlong.c Implement __bool__ and __len__ via unary_op virtual method for all types. 2014-01-30 04:37:19 +02:00
objlist.c Implement __bool__ and __len__ via unary_op virtual method for all types. 2014-01-30 04:37:19 +02:00
objmap.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
objmodule.c py: Initialise loaded_module map in rt_init. 2014-01-22 23:59:20 +00:00
objnone.c Implement __bool__ and __len__ via unary_op virtual method for all types. 2014-01-30 04:37:19 +02:00
objrange.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
objset.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
objslice.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
objstr.c Factor out quoted string print function for reuse (mp_str_print_quoted()). 2014-01-28 03:40:06 +02:00
objtuple.c Implement __bool__ and __len__ via unary_op virtual method for all types. 2014-01-30 04:37:19 +02:00
objtuple.h type->print(): Distinguish str() and repr() variety by passing extra param. 2014-01-15 02:15:38 +02:00
objtype.c Remove obsoleted comment. 2014-01-25 00:25:32 +00:00
objzip.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
parse.c py: Fix bug with LOAD_METHOD; fix int->machine_int_t for small int. 2014-01-29 18:58:52 +00:00
parse.h Implement mp_parse_node_free; print properly repr(string). 2014-01-25 13:51:19 +00:00
py.mk Fixed dependency problem for qstrdefs.generated.h 2014-01-25 08:55:31 -08:00
qstr.c Add qstr_info() function and bindings for unix port. 2014-01-29 18:56:46 +00:00
qstr.h Add qstr_info() function and bindings for unix port. 2014-01-29 18:56:46 +00:00
qstrdefs.h Implement mp_parse_node_free; print properly repr(string). 2014-01-25 13:51:19 +00:00
repl.c mp_repl_is_compound_stmt(): Thinko fix s/true/try/. 2014-01-11 00:12:06 +02:00
repl.h Merge remote-tracking branch 'upstream/master' into dict_feats 2014-01-07 23:06:46 +00:00
runtime.c Implement __bool__ and __len__ via unary_op virtual method for all types. 2014-01-30 04:37:19 +02:00
runtime.h Add basic implementation of bytes type, piggybacking on str. 2014-01-24 22:56:26 +02:00
runtime0.h Implement __bool__ and __len__ via unary_op virtual method for all types. 2014-01-30 04:37:19 +02:00
scope.c Allow qstr's with non-ident chars, construct good identifier for them. 2014-01-24 02:34:22 +02:00
scope.h mp_compile(): Properly free module_scope and all nested scopes. 2014-01-23 23:16:18 +02:00
sequence.c Merge branch 'master' of github.com:micropython/micropython 2014-01-21 21:54:15 +00:00
showbc.c py: Fix bug with LOAD_METHOD; fix int->machine_int_t for small int. 2014-01-29 18:58:52 +00:00
stream.c file.readline(): Use mp_obj_str_get_data() and fix off-by-one error on EOF. 2014-01-22 19:17:58 +02:00
stream.h stream: Add generic unbuffered iternext method. 2014-01-20 18:42:08 +02:00
strtonum.c Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
unicode.c Implement octal and hex escapes in strings. 2014-01-22 22:48:25 +02:00
vm.c py: Simplify fastn in VM; reduce size of unique code struct. 2014-01-29 20:30:52 +00:00
vstr.c Fix 1 warning and 1 bug. 2014-01-22 23:18:50 +00:00