Merge remote branch 'origin/topic/jsiwek/doc-framework'

This commit is contained in:
Robin Sommer 2011-04-18 14:50:35 -07:00
commit e7bde27f2d
54 changed files with 4006 additions and 62 deletions

View file

@ -574,6 +574,11 @@ void Val::Describe(ODesc* d) const
Val::ValDescribe(d);
}
void Val::DescribeReST(ODesc* d) const
{
ValDescribeReST(d);
}
void Val::ValDescribe(ODesc* d) const
{
if ( d->IsReadable() && type->Tag() == TYPE_BOOL )
@ -615,6 +620,20 @@ void Val::ValDescribe(ODesc* d) const
}
}
void Val::ValDescribeReST(ODesc* d) const
{
switch ( type->InternalType() ) {
case TYPE_INTERNAL_OTHER:
Describe(d);
break;
default:
d->Add("``");
ValDescribe(d);
d->Add("``");
}
}
MutableVal::~MutableVal()
{
for ( list<ID*>::iterator i = aliases.begin(); i != aliases.end(); ++i )
@ -2929,6 +2948,34 @@ void RecordVal::Describe(ODesc* d) const
d->Add("]");
}
void RecordVal::DescribeReST(ODesc* d) const
{
const val_list* vl = AsRecord();
int n = vl->length();
d->Add("{");
d->PushIndent();
loop_over_list(*vl, i)
{
if ( i > 0 )
d->NL();
d->Add(record_type->FieldName(i));
d->Add("=");
Val* v = (*vl)[i];
if ( v )
v->Describe(d);
else
d->Add("<uninitialized>");
}
d->PopIndent();
d->Add("}");
}
IMPLEMENT_SERIAL(RecordVal, SER_RECORD_VAL);
bool RecordVal::DoSerialize(SerialInfo* info) const