Projects

Ticket #714: symbol_not_string.diff

File symbol_not_string.diff, 4.0 KB (added by mattaimonetti@…, 18 months ago)

remove all string only methods from symbols

  • symbol.c

    diff --git a/symbol.c b/symbol.c
    index 8b3e0dc..a934e20 100644
    a b  
    768768    rb_undef_method(rb_cSymbol, "to_f"); 
    769769    rb_undef_method(rb_cSymbol, "to_str"); 
    770770 
     771    // Undefine bang methods. 
     772    rb_undef_method(rb_cSymbol, "upcase!"); 
     773    rb_undef_method(rb_cSymbol, "capitalize!"); 
     774    rb_undef_method(rb_cSymbol, "chomp!"); 
     775    rb_undef_method(rb_cSymbol, "chop!"); 
     776    rb_undef_method(rb_cSymbol, "delete!"); 
     777    rb_undef_method(rb_cSymbol, "downcase!"); 
     778    rb_undef_method(rb_cSymbol, "encode!"); 
     779    rb_undef_method(rb_cSymbol, "gsub!"); 
     780    rb_undef_method(rb_cSymbol, "lstrip!"); 
     781    rb_undef_method(rb_cSymbol, "rstrip!"); 
     782    rb_undef_method(rb_cSymbol, "next!"); 
     783    rb_undef_method(rb_cSymbol, "reverse!"); 
     784    rb_undef_method(rb_cSymbol, "slice!"); 
     785    rb_undef_method(rb_cSymbol, "squeeze!"); 
     786    rb_undef_method(rb_cSymbol, "strip!"); 
     787    rb_undef_method(rb_cSymbol, "sub!"); 
     788    rb_undef_method(rb_cSymbol, "succ!"); 
     789    rb_undef_method(rb_cSymbol, "swapcase!"); 
     790    rb_undef_method(rb_cSymbol, "tr!"); 
     791    rb_undef_method(rb_cSymbol, "tr_s!"); 
     792     
     793    // Undefine the String only methods. 
     794    rb_undef_method(rb_cSymbol, "%"); 
     795    rb_undef_method(rb_cSymbol, "*"); 
     796    rb_undef_method(rb_cSymbol, "+"); 
     797    rb_undef_method(rb_cSymbol, "<<"); 
     798    rb_undef_method(rb_cSymbol, "[]="); 
     799    rb_undef_method(rb_cSymbol, "ascii_only?"); 
     800    rb_undef_method(rb_cSymbol, "bytes"); 
     801    rb_undef_method(rb_cSymbol, "bytesize"); 
     802    rb_undef_method(rb_cSymbol, "center"); 
     803    rb_undef_method(rb_cSymbol, "chars"); 
     804    rb_undef_method(rb_cSymbol, "chomp"); 
     805    rb_undef_method(rb_cSymbol, "chop"); 
     806    rb_undef_method(rb_cSymbol, "chr"); 
     807    rb_undef_method(rb_cSymbol, "clear"); 
     808    rb_undef_method(rb_cSymbol, "codepoints"); 
     809    rb_undef_method(rb_cSymbol, "concat"); 
     810    rb_undef_method(rb_cSymbol, "count"); 
     811    rb_undef_method(rb_cSymbol, "crypt"); 
     812    rb_undef_method(rb_cSymbol, "delete"); 
     813    rb_undef_method(rb_cSymbol, "dump"); 
     814    rb_undef_method(rb_cSymbol, "each_byte"); 
     815    rb_undef_method(rb_cSymbol, "each_char"); 
     816    rb_undef_method(rb_cSymbol, "each_codepoint"); 
     817    rb_undef_method(rb_cSymbol, "each_line"); 
     818    rb_undef_method(rb_cSymbol, "encode"); 
     819    rb_undef_method(rb_cSymbol, "end_with?"); 
     820    rb_undef_method(rb_cSymbol, "force_encoding"); 
     821    rb_undef_method(rb_cSymbol, "getbyte"); 
     822    rb_undef_method(rb_cSymbol, "gsub"); 
     823    rb_undef_method(rb_cSymbol, "hex"); 
     824    rb_undef_method(rb_cSymbol, "include?"); 
     825    rb_undef_method(rb_cSymbol, "index"); 
     826    rb_undef_method(rb_cSymbol, "insert"); 
     827    rb_undef_method(rb_cSymbol, "lines"); 
     828    rb_undef_method(rb_cSymbol, "ljust"); 
     829    rb_undef_method(rb_cSymbol, "lstrip"); 
     830    rb_undef_method(rb_cSymbol, "oct"); 
     831    rb_undef_method(rb_cSymbol, "ord"); 
     832    rb_undef_method(rb_cSymbol, "partition"); 
     833    rb_undef_method(rb_cSymbol, "replace"); 
     834    rb_undef_method(rb_cSymbol, "reverse"); 
     835    rb_undef_method(rb_cSymbol, "rindex"); 
     836    rb_undef_method(rb_cSymbol, "rjust"); 
     837    rb_undef_method(rb_cSymbol, "rpartition"); 
     838    rb_undef_method(rb_cSymbol, "rstrip"); 
     839    rb_undef_method(rb_cSymbol, "scan"); 
     840    rb_undef_method(rb_cSymbol, "setbyte"); 
     841    rb_undef_method(rb_cSymbol, "split"); 
     842    rb_undef_method(rb_cSymbol, "squeeze"); 
     843    rb_undef_method(rb_cSymbol, "start_with?"); 
     844    rb_undef_method(rb_cSymbol, "strip"); 
     845    rb_undef_method(rb_cSymbol, "sub"); 
     846    rb_undef_method(rb_cSymbol, "sum"); 
     847    rb_undef_method(rb_cSymbol, "to_c"); 
     848    rb_undef_method(rb_cSymbol, "to_f"); 
     849    rb_undef_method(rb_cSymbol, "to_i"); 
     850    rb_undef_method(rb_cSymbol, "to_r"); 
     851    rb_undef_method(rb_cSymbol, "to_str"); 
     852    rb_undef_method(rb_cSymbol, "tr"); 
     853    rb_undef_method(rb_cSymbol, "tr_s"); 
     854    rb_undef_method(rb_cSymbol, "unpack"); 
     855    rb_undef_method(rb_cSymbol, "upto"); 
     856    rb_undef_method(rb_cSymbol, "valid_encoding?"); 
     857 
    771858    rb_objc_define_method(rb_cSymbol, "==", rsym_equal, 1); 
    772859    rb_objc_define_method(rb_cSymbol, "<=>", rsym_cmp, 1); 
    773860    rb_objc_define_method(rb_cSymbol, "casecmp", rsym_casecmp, 1);