diff options
author | Josh Blum | 2013-06-01 16:43:10 -0400 |
---|---|---|
committer | Josh Blum | 2013-06-01 16:43:10 -0400 |
commit | f1b9b9a44b9f50d6cca8234998d7e0adf64e46af (patch) | |
tree | 5f7faed39ad80c0febf26716b874787af294e087 /python/gras | |
parent | 41c180eece1af536874c8591539aeb0a23f6e134 (diff) | |
download | sandhi-f1b9b9a44b9f50d6cca8234998d7e0adf64e46af.tar.gz sandhi-f1b9b9a44b9f50d6cca8234998d7e0adf64e46af.tar.bz2 sandhi-f1b9b9a44b9f50d6cca8234998d7e0adf64e46af.zip |
props: added query functionality to enumerate properties
Diffstat (limited to 'python/gras')
-rw-r--r-- | python/gras/GRAS_Block.i | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/python/gras/GRAS_Block.i b/python/gras/GRAS_Block.i index 4cf245e..bedeb85 100644 --- a/python/gras/GRAS_Block.i +++ b/python/gras/GRAS_Block.i @@ -176,6 +176,26 @@ struct BlockPython : Block } virtual PMCC _Py_handle_prop_access(const std::string &key, const PMCC &value, const bool set) = 0; + + void dummy_setter(const PMCC &) + { + //NOP + } + PMCC dummy_getter(void) + { + return PMC(); + } + + void _Py_register_dummy_setter(const std::string &key) + { + this->register_setter(key, &BlockPython::dummy_setter); + } + + void _Py_register_dummy_getter(const std::string &key) + { + this->register_getter(key, &BlockPython::dummy_getter); + } + }; } @@ -291,8 +311,10 @@ class Block(BlockPython): return PMC_M(getter()) def register_getter(self, key, getter): + self._Py_register_dummy_getter(key) self.__getter_registry[key] = getter def register_setter(self, key, setter): + self._Py_register_dummy_setter(key) self.__setter_registry[key] = setter %} |