commit 1a9bb1b8888f33d360c2425f039acf6185a408d5 Author: David Malcolm dmalcolm@redhat.com Date: Thu Jun 30 16:27:31 2011 -0400
Implement gcc.Tree.__hash__
gcc-python-tree.c | 8 ++++++++ gcc-python-wrappers.h | 3 +++ generate-tree-c.py | 1 + 3 files changed, 12 insertions(+), 0 deletions(-) --- diff --git a/gcc-python-tree.c b/gcc-python-tree.c index ec460ad..6a24372 100644 --- a/gcc-python-tree.c +++ b/gcc-python-tree.c @@ -64,6 +64,14 @@ gcc_Tree_str(struct PyGccTree * self) return NULL; }
+long +gcc_Tree_hash(struct PyGccTree * self) +{ + /* Use the ptr as the hash value: */ + return (long)self->t; +} + + PyObject * gcc_Tree_richcompare(PyObject *o1, PyObject *o2, int op) { diff --git a/gcc-python-wrappers.h b/gcc-python-wrappers.h index 68aa0af..9ca3c9f 100644 --- a/gcc-python-wrappers.h +++ b/gcc-python-wrappers.h @@ -56,6 +56,9 @@ gcc_Cfg_get_basic_blocks(PyGccCfg *self, void *closure); PyObject * gcc_Tree_str(struct PyGccTree * self);
+long +gcc_Tree_hash(struct PyGccTree * self); + PyObject * gcc_Tree_richcompare(PyObject *o1, PyObject *o2, int op);
diff --git a/generate-tree-c.py b/generate-tree-c.py index 3500f32..8b32d8e 100644 --- a/generate-tree-c.py +++ b/generate-tree-c.py @@ -70,6 +70,7 @@ gcc_Tree_get_addr(struct PyGccTree *self, void *closure) struct_name = 'struct PyGccTree', tp_new = 'PyType_GenericNew', tp_getset = 'gcc_Tree_getset_table', + tp_hash = '(hashfunc)gcc_Tree_hash', tp_str = '(reprfunc)gcc_Tree_str', tp_richcompare = 'gcc_Tree_richcompare') methods = PyMethodTable('gcc_Tree_methods', [])
gcc-python-plugin-commits@lists.stg.fedorahosted.org