#include static VALUE rb_sym_assess_string_uminus; static VALUE rb_sym_assess_string_freeze; // Contrast::Agent::Assess::Finalizers::Finalize::PROPERTIES_HASH static VALUE properties_hash; static VALUE rb_sym_dup; static VALUE rb_sym_freeze; /* * The String#-@ method calls to the str_uminus method in String.C. This method * differs in behavior from String#freeze in that it removes instance variables * from the object when it is frozen. Rather than implement a trace map for * frozen things (to which you cannot implment weak references, resulting in * a potential memory leak), we'll override the method so that, in essence, it * never calls String#-@ for unfrozen and tracked objects, but instead calls * String#freeze, which will leave our properties alone. * -HM */ static VALUE contrast_assess_string_uminus(const int argc, VALUE *argv, const VALUE obj); void Init_cs__assess_string(void);