diff --git a/crates/clarirs_py/src/ast/string.rs b/crates/clarirs_py/src/ast/string.rs index 366acd9..4cc61f7 100644 --- a/crates/clarirs_py/src/ast/string.rs +++ b/crates/clarirs_py/src/ast/string.rs @@ -164,6 +164,25 @@ impl PyAstString { )?, ) } + + pub fn __add__( + &self, + py: Python, + other: Bound, + ) -> Result, ClaripyError> { + PyAstString::new( + py, + &GLOBAL_CONTEXT.strconcat(&self.inner, &other.get().inner)?, + ) + } + + pub fn __eq__(&self, py: Python, other: Bound) -> Result, ClaripyError> { + Bool::new(py, &GLOBAL_CONTEXT.streq(&self.inner, &other.get().inner)?) + } + + pub fn __ne__(&self, py: Python, other: Bound) -> Result, ClaripyError> { + Bool::new(py, &GLOBAL_CONTEXT.strneq(&self.inner, &other.get().inner)?) + } } #[pyfunction(signature = (name, explicit_name = false))]