pub fn make_symbolic_string(&mut self, name: &str, length: usize) -> Result<u64> {
        let (address, expressions) = self.make_symbolic_buffer(name, length - 1)?;

        let null_byte_address = self.next_symbolic_memory_address();
        self.memory
            .store(null_byte_address, &il::expr_const(0, 8))?;

        let mut expression_hashes = Vec::new();

        for expression in expressions {
            expression_hashes.push(
                HASH_EXPRESSION_STORE
                    .write()
                    .unwrap()
                    .get_hash(&expression)?,
            );
        }

        let symbolic_string = SymbolicString::new(expression_hashes);

        self.symbolic_strings
            .insert(name.to_string(), symbolic_string);

        Ok(address)
    }
/// Create a symbolic string in this `State`.
///
/// This is a null-terminated symbolic buffer.
Create a symbolic string in this `State`.
This is a null-terminated symbolic buffer.
Create a symbolic string in this ` State ` . This is a null - terminated symbolic buffer .
pub fn make_symbolic_string(&mut self, name: &str, length: usize) -> Result<u64> {
        let (address, expressions) = self.make_symbolic_buffer(name, length - 1)?;
        let null_byte_address = self.next_symbolic_memory_address();
        self.memory
            .store(null_byte_address, &il::expr_const(0, 8))?;
        let mut expression_hashes = Vec::new();
        for expression in expressions {
            expression_hashes.push(
                HASH_EXPRESSION_STORE
                    .write()
                    .unwrap()
                    .get_hash(&expression)?,
            );
        }
        let symbolic_string = SymbolicString::new(expression_hashes);
        self.symbolic_strings
            .insert(name.to_string(), symbolic_string);
        Ok(address)
    }
pub fn make_symbolic_string ( & mut self , name : & str , length : usize ) -> Result < u64 > { let ( address , expressions ) = self . make_symbolic_buffer ( name , length - 1 ) ? ; let null_byte_address = self . next_symbolic_memory_address ( ) ; self . memory . store ( null_byte_address , & il :: expr_const ( 0 , 8 ) ) ? ; let mut expression_hashes = Vec :: new ( ) ; for expression in expressions { expression_hashes . push ( HASH_EXPRESSION_STORE . write ( ) . unwrap ( ) . get_hash ( & expression ) ? , ) ; } let symbolic_string = SymbolicString :: new ( expression_hashes ) ; self . symbolic_strings . insert ( name . to_string ( ) , symbolic_string ) ; Ok ( address ) }
Create a symbolic string in this `State`.
Create a symbolic string in this ` State ` .
&mut self
name
&str
length
usize