Sha256: 22c42137460ccf2cf70db701e1db359c6a1d29c2a2144f29695dac2e0f66ba70

Contents?: true

Size: 827 Bytes

Versions: 7

Compression:

Stored size: 827 Bytes

Contents

#include <ruby.h>

static VALUE rb_sym_assess_string_uminus;
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);

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
contrast-agent-3.13.2 ext/cs__assess_string/cs__assess_string.h
contrast-agent-3.13.1 ext/cs__assess_string/cs__assess_string.h
contrast-agent-3.13.0 ext/cs__assess_string/cs__assess_string.h
contrast-agent-3.12.2 ext/cs__assess_string/cs__assess_string.h
contrast-agent-3.12.1 ext/cs__assess_string/cs__assess_string.h
contrast-agent-3.12.0 ext/cs__assess_string/cs__assess_string.h
contrast-agent-3.11.0 ext/cs__assess_string/cs__assess_string.h