X-Git-Url: http://deadsoftware.ru/gitweb?p=odcread.git;a=blobdiff_plain;f=fold.cc;h=b416401ede108ab39c71e3c7ab11c64de0560a00;hp=5cdbbb46ec12e89c40c4d1be530c937f5505e7e8;hb=51b3593cbfb33c1d7b4b588f3841c3c405e3a215;hpb=519462238ad20b1aca242075e3fe8c0d0719b3d4 diff --git a/fold.cc b/fold.cc index 5cdbbb4..b416401 100644 --- a/fold.cc +++ b/fold.cc @@ -53,14 +53,21 @@ void Fold::internalize(Reader &reader) { // rd.ReadXInt(xint); fold.collapsed := xint = 0; reader.readSInt(); // rd.ReadXString(fold.label); - SHORTCHAR label[32]; - reader.readSString(label); // the label + d_label = new SHORTCHAR[32]; + reader.readSString(d_label); // the label // rd.ReadStore(store); - reader.readStore(); // the hidden part + d_hidden = reader.readStore(); // the hidden part // IF store # NIL THEN fold.hidden := store(TextModels.Model); Stores.Join(fold.hidden, fold) // ELSE fold.hidden := NIL // END; // fold.leftSide := store # NIL } +std::string Fold::toString() { + if (d_hidden == 0) { + return std::string("Fold(right)"); + } + return std::string("Fold(left)") + std::string(" { ") + d_hidden->toString() + std::string(" }"); +} + } // namespace odc