internal override bool Equals(YamlNode b, ObjectRepository repository)
{
bool skip;
if(! base.EqualsSub(b, repository, out skip) )
return false;
if(skip)
return true;
YamlScalar aa = this;
YamlScalar bb = (YamlScalar)b;
if ( NativeObjectAvailable ) {
return bb.NativeObjectAvailable &&
(aa.NativeObject == null ?
bb.NativeObject==null :
aa.NativeObject.Equals(bb.NativeObject) );
} else {
if ( ShorthandTag() == "!!str" ) {
return aa.Value == bb.Value;
} else {
// Node with non standard tag is compared by its identity.
return false;
}
}
}