[macruby-changes] [2180] MacRuby/branches/experimental/ext/libyaml/rubyext.c
source_changes at macosforge.org
source_changes at macosforge.org
Mon Aug 3 10:45:56 PDT 2009
Revision: 2180
http://trac.macosforge.org/projects/ruby/changeset/2180
Author: pthomson at apple.com
Date: 2009-08-03 10:45:56 -0700 (Mon, 03 Aug 2009)
Log Message:
-----------
Removed some calls to rb_intern.
Modified Paths:
--------------
MacRuby/branches/experimental/ext/libyaml/rubyext.c
Modified: MacRuby/branches/experimental/ext/libyaml/rubyext.c
===================================================================
--- MacRuby/branches/experimental/ext/libyaml/rubyext.c 2009-08-03 17:45:55 UTC (rev 2179)
+++ MacRuby/branches/experimental/ext/libyaml/rubyext.c 2009-08-03 17:45:56 UTC (rev 2180)
@@ -38,7 +38,13 @@
static ID id_plain;
static ID id_quote2;
+static ID id_tags_ivar;
+static ID id_input_ivar;
+static ID id_node_id_ivar;
+static ID id_document_ivar;
+static SEL selToYAML;
+
static VALUE rb_oDefaultResolver;
static VALUE
@@ -66,7 +72,7 @@
rb_yaml_parser_set_input(VALUE self, SEL sel, VALUE input)
{
yaml_parser_t *parser;
- rb_ivar_set(self, rb_intern("input"), input);
+ rb_ivar_set(self, id_input_ivar, input);
Data_Get_Struct(self, yaml_parser_t, parser);
if (!NIL_P(input))
{
@@ -253,20 +259,20 @@
rb_raise(rb_eRuntimeError, "unexpected empty node");
}
VALUE n = Data_Wrap_Struct(klass, NULL, NULL, node);
- rb_ivar_set(n, rb_intern("node_id"), INT2FIX(id));
- rb_ivar_set(n, rb_intern("document"), document);
+ rb_ivar_set(n, id_node_id_ivar, INT2FIX(id));
+ rb_ivar_set(n, id_document_ivar, document);
return n;
}
static VALUE
rb_sequence_node_add(VALUE self, SEL sel, VALUE obj)
{
- VALUE doc = rb_ivar_get(self, rb_intern("document"));
+ VALUE doc = rb_ivar_get(self, id_document_ivar);
yaml_document_t *document;
Data_Get_Struct(doc, yaml_document_t, document);
VALUE scalar_node = rb_funcall(obj, rb_intern("to_yaml"), 1, doc);
- int seqID = FIX2INT(rb_ivar_get(self, rb_intern("node_id")));
- int scalID = FIX2INT(rb_ivar_get(scalar_node, rb_intern("node_id")));
+ int seqID = FIX2INT(rb_ivar_get(self, id_node_id_ivar));
+ int scalID = FIX2INT(rb_ivar_get(scalar_node, id_node_id_ivar));
yaml_document_append_sequence_item(document, seqID, scalID);
return self;
}
@@ -274,14 +280,14 @@
static VALUE
rb_mapping_node_add(VALUE self, SEL sel, VALUE key, VALUE val)
{
- VALUE doc = rb_ivar_get(self, rb_intern("document"));
+ VALUE doc = rb_ivar_get(self, id_document_ivar);
yaml_document_t *document;
Data_Get_Struct(doc, yaml_document_t, document);
VALUE key_node = rb_funcall(key, rb_intern("to_yaml"), 1, doc);
VALUE val_node = rb_funcall(val, rb_intern("to_yaml"), 1, doc);
- int myID = FIX2INT(rb_ivar_get(self, rb_intern("node_id")));
- int keyID = FIX2INT(rb_ivar_get(key_node, rb_intern("node_id")));
- int valID = FIX2INT(rb_ivar_get(val_node, rb_intern("node_id")));
+ int myID = FIX2INT(rb_ivar_get(self, id_node_id_ivar));
+ int keyID = FIX2INT(rb_ivar_get(key_node, id_node_id_ivar));
+ int valID = FIX2INT(rb_ivar_get(val_node, id_node_id_ivar));
yaml_document_append_mapping_pair(document, myID, keyID, valID);
return self;
}
@@ -299,7 +305,7 @@
static void
rb_yaml_guess_type_of_plain_node(yaml_node_t *node)
{
- const unsigned char* v = node->data.scalar.value;
+ const char* v = (char*) node->data.scalar.value;
if ((strcmp(v, "true") == 0) || (strcmp(v, "false") == 0))
{
node->tag = "tag:yaml.org,2002:bool";
@@ -309,7 +315,7 @@
static VALUE
rb_yaml_resolver_initialize(VALUE self, SEL sel)
{
- rb_ivar_set(self, rb_intern("@tags"), rb_hash_new());
+ rb_ivar_set(self, id_tags_ivar, rb_hash_new());
return self;
}
@@ -376,7 +382,7 @@
static VALUE
rb_yaml_resolver_transfer(VALUE self, SEL sel, VALUE obj)
{
- VALUE tags = rb_ivar_get(self, rb_intern("@tags"));
+ VALUE tags = rb_ivar_get(self, id_tags_ivar);
if (rb_obj_is_kind_of(obj, rb_cDocument))
{
yaml_document_t *document;
@@ -472,6 +478,10 @@
{
id_plain = rb_intern("plain");
id_quote2 = rb_intern("quote2");
+ id_tags_ivar = rb_intern("@tags");
+ id_input_ivar = rb_intern("@input");
+ id_node_id_ivar = rb_intern("@node_id");
+ id_document_ivar = rb_intern("@document");
rb_mYAML = rb_define_module("YAML");
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090803/4fa81f96/attachment.html>
More information about the macruby-changes
mailing list