return RubyString.newString(runtime,(ByteList)super.constructScalar(node));
} else {
// Assume it's a mapping node
Map val = (Map)(constructMapping(node));
RubyString str = (RubyString)val.get(runtime.newString("str"));
Map props = new HashMap();
for(Iterator iter = val.entrySet().iterator();iter.hasNext();) {
Map.Entry em = (Map.Entry)iter.next();
if(em.getKey().toString().startsWith("@")) {
props.put(em.getKey(),em.getValue());
iter.remove();
}
}
for(Iterator iter = props.entrySet().iterator();iter.hasNext();) {
Map.Entry em = (Map.Entry)iter.next();
str.instance_variable_set((IRubyObject)em.getKey(),(IRubyObject)em.getValue());
}
return str;
}
}