Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
cc57bd26
Commit
cc57bd26
authored
Jan 12, 2014
by
Paul Sokolovsky
Browse files
mp_obj_equal(): For non-trivial types, call out to type's special method.
parent
729e9cce
Changes
1
Hide whitespace changes
Inline
Side-by-side
py/obj.c
View file @
cc57bd26
...
...
@@ -117,6 +117,13 @@ bool mp_obj_equal(mp_obj_t o1, mp_obj_t o2) {
}
else
if
(
MP_OBJ_IS_TYPE
(
o1
,
&
str_type
)
&&
MP_OBJ_IS_TYPE
(
o2
,
&
str_type
))
{
return
mp_obj_str_get
(
o1
)
==
mp_obj_str_get
(
o2
);
}
else
{
mp_obj_base_t
*
o
=
o1
;
if
(
o
->
type
->
binary_op
!=
NULL
)
{
mp_obj_t
r
=
o
->
type
->
binary_op
(
RT_COMPARE_OP_EQUAL
,
o1
,
o2
);
if
(
r
!=
MP_OBJ_NULL
)
{
return
r
==
mp_const_true
?
true
:
false
;
}
}
// TODO: Debugging helper
printf
(
"Equality for '%s' and '%s' types not yet implemented
\n
"
,
mp_obj_get_type_str
(
o1
),
mp_obj_get_type_str
(
o2
));
assert
(
0
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment